`
SunShineBoy
  • 浏览: 44800 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

闲扯struts2-A

阅读更多
思路:   action----------------->配置xml----------------------->前台view(------------------->validation后面写)

纯属一家之谈:

公司一直用的是struts1,1用的是相当顺手,但是一里面也有一些问题,比如用struts自己的form,里面有date类型,还要让人转换麻烦的很!但是问题还是能解决的,呵呵:这几天闲来无事,就看看struts2,它不就是集成webwork的核心吗,还有些像jsf,也像 struts1里面的那个depchAction(一个action里面多个方法,我的这个名字肯定错了)!struts2可以在一个action里面完成这个包里面的所有功能(也就是传说中经常用的增删改查),并且可以在这里把对象放进来,也可以放属性,我还是喜欢对象!然后从页面指定指定这个对象的属性就可以了!

这样action就操作完了!但你记住struts版本不同对应不同的xwork,不然会异常的!2.0跟2.1就不是亲戚!~

下来配置了,这个会出现很多莫名奇妙的问题,第一就是struts2到底支持通配符 * 不,这是考虑到以后项目中可能有很多struts-user.xml,struts-manager.xml,那么我在web.xml里面配置成如下这样,可以不?

<filter>
        <filter-name>Struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>
                struts-default.xml,
                struts-plugin.xml,

                struts.xml,
               struts-*.xml
              
            </param-value>
        </init-param>
    </filter>

我就觉得这样很烦,一是这样好像不通配,二是这样的话在WEB-INF下会有很多的xml文件,因为你能把struts放在这,你集成spring 和hibernate的时候,xml肯定也放在这了,这样我感觉不好管理,所以我把他们放在专门的一个config文件里面建四个包:springXML,strutsXML,validation(这个是验证的,有人喜欢跟class文件放在一起)和一个属性文件!以后我就管理这几个文件里面的xml就可以了!这是一个问题。

在一个问题就是很多人开始写helloworld的时候,是看网上写的的,运行什么都没有问题,一旦加了自己的包就会找不到action的事件发生,很是郁闷,我在这点点行了,认真看看底下红色字体

<package name="master" extends="struts-default" namespace="/master">
        <action name="master" class="masterAction" method="save" >  蓝色字体是我的spring bean 不要去管!
               <result name="success">/HelloWorld.jsp</result>
               <result name="error">/error.jsp</result>
        </action>
    </package>

里面的name,extends,namespece都代表什么意思,底下为页面部分,为什么要这么写!

<s:form action="master" method="post" namespace="/master">
    <s:textfield name="master.name" label="姓名"/>   蓝色字体是我action里面注入的对象属性名!
    <s:submit/>
</s:form>

下来是truts.xml 里面的东西 eg:

这三个是什么意思,明白不,为什么第一行的value是false,你改成true看看有异常没有,呵呵!

<constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="false" />
    <constant name="struts.i18n.encoding" value="GBK" />

在这个文件里面,可以include 文件,你知道这里能用通配符不?继续瞎侃:

<struts>
    <!-- 开启使用开发模式,详细错误提示 -->
    <!-- <constant name="struts.devMode" value="true"/>-->      struts2的一个bug在这,有的说是tomcat6.0以上有空格!
    <!-- 指定每次请求到达,重新加载资源文件 -->
    <!-- <constant name="struts.i18n.reload" value="true"/>-->
    <!-- 指定每次配置文件更改后,自动重新加载 -->
    <!-- <constant name="struts.configuration.xml.reload" value="true"/>-->
    <!-- 指定XSLT Result使用样式表缓存 -->
    <!-- <constant name="struts.xslt.nocache" value="true"/>-->
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="false" />
    <constant name="struts.i18n.encoding" value="GBK" />
  
    <include file="strutsXML/struts-*.xml"></include>       原来可以这样写
</struts>

页面什么都不想说了,由于struts2支持什么freemarker,jsp,velocity什么的,自己试试去,注意的就是你把s:form 元素弄不好,就找不到action!
1
0
分享到:
评论

相关推荐

    闲扯税务风险.docx

    闲扯税务风险.docx

    学生学籍管理系统.doc

    学生管理系统,内涵E-R图,系统结构图等,可轻松下载。

    BP神经网络的Matlab实现——人工智能算法.pdf

    2、It is a supervised learning method, and is a generalization of the delta rule. It requires a teacher that knows, or can calculate, the desired output for any input in the training set. 3、 ...

    百度地图开发java源码-self-resource:自我资源

    宗旨:高效,高质量的交流,禁止无意义的闲扯,话题内容尽量保持在技术与职业相关范围内。原则上:白天上班时间禁止闲聊,业余时间话题可以稍为宽松。 随着群人数越来越多,为了使群的价值能够保持技术的高质量输送...

    localResizeIMG.rar

    图片压缩可以通过前端或者后端都可以实现,这里主要闲扯一下我使用的前端图片压缩的插件:页面引用文件中lrz.all.bundle.js即可,调用后图片会被压缩,将转换成base64格式,直接提交至后台,或者在前端转换成图片...

    vue实现标签云效果的示例

    闲扯两句 最近想给自己的博客上加上一个3D标签云的效果,用来表示自己博客文章的分组,网上找到了canvas实现的,还有a元素实现的解析3D标签云,我想让标签可以选择和点击,又不想在标签数量较多时操作a标签导致性能...

    vue实现标签云效果的方法详解

    最近想给自己的博客上加上一个3D标签云的效果,用来表示自己博客文章的分组,网上找到了canvas实现的,还有a元素实现的解析3D标签云,我想让标签可以选择和点击,又不想在标签数量较多时操作a标签导致性能问题,于是...

    学习链接大全

    包括时事,c++,中医,闲扯淡呀,安卓,单片机,等等。 希望大家喜欢。

    10个必需的iOS开发工具和资源

    (在这里,我再闲扯一句,虽然Android的开发好像整整 XML文件界面就出来了,其明显比iOS的开发要容易很多,但是我还是觉得iOS的生命力要强过Android,看看Android今天的应用就知道,有时候入门门槛低不是一些好事,...

    收集的20个实用ppt

    为各位提供20个自己收集的炫酷风格ppt,答辩演讲百试百灵。后面是闲扯:之前答辩的时候就用这些,我这还有一些关于如何制作好的ppt的视频教程,需要的可以联系我也,祝大家顺顺利利。

    Node.js websocket使用socket.io库实现实时聊天室

    认识websocket ...它实现了浏览器与服务器全双工通信(full-duple)。... ... 之前用java jsp写过一个聊天,其实实现逻辑并不难,只是大部分时间都用在UI的设计上,其实现原理...废话不闲扯,我们先来看一下websocket 与传统的

    IIC通信协议的Verilog实现

    刚刚花了几天时间把 IIC 总算搞懂了一些,查了很多资料,也纠结过于很多细节,不过只要耐着性子,一点点的去理解,去尝试,终会得到你想要的结果,人生不也是吗,嘿嘿~,不闲扯了,下面就写写我的理解以及方法,算是...

    详解在ASP.NET Core中如何编写合格的中间件

    当然MVC管道本身就是中间件,早在WebForm时代就出现过HttpModules、HttpHandler、那个时候悠然记得我通过它们来组织我的广告系统,不闲扯我们继续。 每个中间件组件都有一个带有HttpContext参数的Invoke方法。您可以...

    AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录

    一、闲扯 有一天班长说了,同学们希望我开发一个可以共享位置的通讯录,于是自己简单设计了下功能。包括用户角色、发表微博、共享位置等等。这次也是有点私心的,为了锻炼最近看的angularjs,于是果断选择Node.js + ...

    初窥javascript奥秘之让人捉摸不定的this

    之所以会有此篇文章当然还要从最近的一次面试说起,很抱歉居然又扯到面试上去看,其实不要说,...闲扯作用域你了解javascript的作用域吗?真的了解吗?那来试试这道题吧:好吧,拿出你的答案吧,吾已经露出了邪恶的笑

    Performance_Analysis:性能测试经验汇总

    闲扯: 性能测试门槛较高,选择前还是要谨慎,那么看下一名合格的性能测试工程师要求: 硬件大概信息,当硬件出现性能瓶颈后,提出可供替代硬件方案信息建议 系统框架的优劣势,以及框架下各模块的合理配置优化建议 ...

    ftp命令详解

    ftp命令详解, 包括一些常用的ftp命令。

    linux 命令

    linux的基本操作命令,总结的相当全 。

    oracle 11g 安装

    oracle 11g 安装 步骤。有图解, 非常详细

Global site tag (gtag.js) - Google Analytics