struts2 技巧篇

1.action的属性都封装在request的struts.valueStack,可用

com.opensymphony.xwork2.util.ValueStack stack=(ValueStack)request.getAttribute("struts.valueStack"); 

String[] strBook=(String[])stack.findValue("book"); 

,其中book是action的属性名称为一个String数组

2.定义struts.xml中的<include file=""/>文件时,可将文件定义在web-inf下,可定义自己的文件夹方便管理,例如:

<include file="../struts-config/login-struts.xml"></include>

加..是因为struts.xml发布后再web-inf的classes路径下

3.可用struts.xml中的<constant name=" struts.custom.i18n.resources " value="mess" />,标签代替struts.properties属性文件

4.在一个Action中定义多个控制方法,调用有两种方式

          4.1<action name="AliasHelloWorld" class="tutorial.HelloWorld" method="aliasAction">

                       <result>/HelloWorld.jsp</result>

            </action>

          4.2 直接在<form action="login.action!方法名"或者action="login!方法名.action

5.在标签中用 theme="simple",可以去掉自带的样式

6.在Action中获取HttpServletRequest,HttpServletRequest,HttpSession的方法

                            HttpServletRequest request = ServletActionContext.getRequest(); 

                           HttpServletResponse response = ServletActionContext.getResponse(); 

                             HttpSession session = request.getSession();

7.namespace用法

如果在package标签中指定namespace,如

<package name="login" extends="struts-default" namespace="/login">

在jsp页面中访问方法,如下:

<s:form action="login/login.action" theme="simple">

 

8.jsp的Form的Action值,如果加"/",跳转不报错,但不执行execute

9.在Tomcat上发布项目的方法:在Conf-->server.xml里的<Host>标签里,添加<Context path="/struts2" docBase="E:\Project\WebRoot" reloadable="true"/>,注意不能使用中文,否则Tomcat启动报错,byte字节解析错误

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值