思路: 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!
分享到:
相关推荐
闲扯税务风险.docx
学生管理系统,内涵E-R图,系统结构图等,可轻松下载。
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、 ...
宗旨:高效,高质量的交流,禁止无意义的闲扯,话题内容尽量保持在技术与职业相关范围内。原则上:白天上班时间禁止闲聊,业余时间话题可以稍为宽松。 随着群人数越来越多,为了使群的价值能够保持技术的高质量输送...
图片压缩可以通过前端或者后端都可以实现,这里主要闲扯一下我使用的前端图片压缩的插件:页面引用文件中lrz.all.bundle.js即可,调用后图片会被压缩,将转换成base64格式,直接提交至后台,或者在前端转换成图片...
闲扯两句 最近想给自己的博客上加上一个3D标签云的效果,用来表示自己博客文章的分组,网上找到了canvas实现的,还有a元素实现的解析3D标签云,我想让标签可以选择和点击,又不想在标签数量较多时操作a标签导致性能...
最近想给自己的博客上加上一个3D标签云的效果,用来表示自己博客文章的分组,网上找到了canvas实现的,还有a元素实现的解析3D标签云,我想让标签可以选择和点击,又不想在标签数量较多时操作a标签导致性能问题,于是...
包括时事,c++,中医,闲扯淡呀,安卓,单片机,等等。 希望大家喜欢。
(在这里,我再闲扯一句,虽然Android的开发好像整整 XML文件界面就出来了,其明显比iOS的开发要容易很多,但是我还是觉得iOS的生命力要强过Android,看看Android今天的应用就知道,有时候入门门槛低不是一些好事,...
为各位提供20个自己收集的炫酷风格ppt,答辩演讲百试百灵。后面是闲扯:之前答辩的时候就用这些,我这还有一些关于如何制作好的ppt的视频教程,需要的可以联系我也,祝大家顺顺利利。
认识websocket ...它实现了浏览器与服务器全双工通信(full-duple)。... ... 之前用java jsp写过一个聊天,其实实现逻辑并不难,只是大部分时间都用在UI的设计上,其实现原理...废话不闲扯,我们先来看一下websocket 与传统的
刚刚花了几天时间把 IIC 总算搞懂了一些,查了很多资料,也纠结过于很多细节,不过只要耐着性子,一点点的去理解,去尝试,终会得到你想要的结果,人生不也是吗,嘿嘿~,不闲扯了,下面就写写我的理解以及方法,算是...
当然MVC管道本身就是中间件,早在WebForm时代就出现过HttpModules、HttpHandler、那个时候悠然记得我通过它们来组织我的广告系统,不闲扯我们继续。 每个中间件组件都有一个带有HttpContext参数的Invoke方法。您可以...
一、闲扯 有一天班长说了,同学们希望我开发一个可以共享位置的通讯录,于是自己简单设计了下功能。包括用户角色、发表微博、共享位置等等。这次也是有点私心的,为了锻炼最近看的angularjs,于是果断选择Node.js + ...
之所以会有此篇文章当然还要从最近的一次面试说起,很抱歉居然又扯到面试上去看,其实不要说,...闲扯作用域你了解javascript的作用域吗?真的了解吗?那来试试这道题吧:好吧,拿出你的答案吧,吾已经露出了邪恶的笑
闲扯: 性能测试门槛较高,选择前还是要谨慎,那么看下一名合格的性能测试工程师要求: 硬件大概信息,当硬件出现性能瓶颈后,提出可供替代硬件方案信息建议 系统框架的优劣势,以及框架下各模块的合理配置优化建议 ...
ftp命令详解, 包括一些常用的ftp命令。
linux的基本操作命令,总结的相当全 。
oracle 11g 安装 步骤。有图解, 非常详细