`
SunShineBoy
  • 浏览: 45319 次
  • 性别: 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

    税务风险是指企业在经营活动中,由于未能正确遵循税收法律法规,可能导致企业经济利益损失的可能性。这种风险主要分为两类:纳税风险和遵从风险。纳税风险是指企业因违法行为如应纳税未纳税、少纳税,面临的补税、...

    学生学籍管理系统.doc

    2. **数据库设计**:选择合适的数据库(如Microsoft Access),设计E-R图,规划数据库的结构,包括实体(如学生、课程)、属性(如学生ID、姓名、成绩)、关系(如学生与课程的关联)等。数据库设计的好坏直接影响到...

    小学语文近义词闲聊的近义词和解释

    2. **闲扯** (xian che) - "闲扯"带有调侃或漫不经心的意味,有时也表示说话人对某个话题的不严肃态度。例如:讨论一个深奥的问题时,可能会有人开玩笑地说:“这可不是闲扯,而是对……的认真探讨。” 3. **聊天**...

    ftp命令详解

    - 示例:`chmod 777 a.out`,将文件`a.out`的权限设置为所有用户都可读、写、执行。 13. **`close`** - 功能:中断与远程服务器的FTP会话。 - 示例:`close`,关闭与服务器的连接。 14. **`cr`** - 功能:使用...

    sql语句总结

    CREATE TABLE a AS SELECT * FROM emp WHERE 1=2; INSERT INTO a SELECT * FROM emp WHERE sal &gt; 2000; ``` 这里先创建了一个名为`a`的空表,然后将`emp`表中薪资大于2000的记录插入到`a`表中。 #### 删除数据 当...

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

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

    localResizeIMG.rar

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

    vue实现标签云效果的示例

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

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

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

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

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

    培训技巧之课堂演绎技巧.pptx

    10. **处理难缠学员**:针对不同类型的难缠学员(如垄断发言者、沉默不语者、离题闲扯者、交头接耳者和扰乱秩序者),应采取相应策略,如保持礼貌、提问引导、小组活动等。 辅助工具的应用,如视听教辅资料,可以...

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

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

    扒一扒面试不能说的十句话Word范文.docx

    2. **吹嘘和说谎**:夸大自己的经验和成就会让人觉得不诚实。面试官期望看到的是真实的能力和实际的成果,而不是空洞的吹嘘。一旦被发现说谎,你的专业信誉将会受损。 3. **简短答案和预先准备**:过度依赖预设答案...

    IIC通信协议的Verilog实现

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

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

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

    Performance_Analysis:性能测试经验汇总

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

Global site tag (gtag.js) - Google Analytics