Struts1.x系列教程(17)[Java编程]
本文“Struts1.x系列教程(17)[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Struts1.x系列教程(17):利用IncludeAction和ForwardAction类包含和转入Web资源
1、利用IncludeAction类包含Web资源
固然在JSP页面中可以利用<jsp:include>标签包含另一个Web资源,但Struts框架倡导在包含Web资源时应先经过Struts掌握器处理后,再由Struts掌握器负责包含Web资源.org.apache.struts.actions.IncludeAction类供应了包含其他Web资源的功效.利用IncludeAction类要在struts-config.xml中配置<action>元素.配置IncludeAction类的代码以下:
<actionpath="/include"type="org.apache.struts.actions.IncludeAction"
input="/firstValidator.jsp"validate="false"
name="firstValidatorForm"parameter="/firstValidator.jsp"/>
在配置上面代码时应注意两点:
1.firstValidator.jsp页面利用了firstValidatorForm举行数据考证,全部应将<action>元素的validate属性设为“false”.不然在运行include行动时就会举行考证.在这时firstValidatorForm中的全部属性都没有被赋值.所以每个属性都无法通过考证.读者可以将validate属性设为“true”,看看会发生什么情形.
2. IncludeAction类的功效和效果与<jsp:include>标签完好一样.这就意味着在IncludeAction包含的其他Web资源中无法改变呼应信息头.这样就无法改变Content-Type字段的值.因此,按着上面的设置来运路程序,全部的中文信息会显示乱码.办理的办法有很多,如可以自己实现一个IncludeAction类的子类,在子类的execute办法中设置Content-Type的值.或都更简单的办法是在过滤器(EncodingFilter)中加入以下的代码:
response.setCharacterEncoding("GBK");
在IE中输入http://localhost:8080/samples/include.do可拜候include行动.
固然在JSP页面中可以利用<jsp:forward>标签把恳求转发给另一个Web资源,但Struts框架倡导在转发Web资源时应先经过Struts掌握器处理后,再由Struts掌握器转发Web资源.org.apache.struts.actions.ForwardAction类供应了转发其他Web资源的功效.利用ForwardAction类要在struts-config.xml文件中配置<action>元素.下面的代码演示了如安在<action>元素中利用ForwardAction类来包含其他的Web资源:
<actionpath="/forward"type="org.apache.struts.actions.ForwardAction"
input="/firstValidator.jsp"validate="false"
name="firstValidatorForm"parameter="/firstValidator.jsp"/>
由于经过转发的Web资源可以改变Content-Type字段的值,因此,利用ForwardAction类举行转发时,无需再别的改变Content-Type字段的值(因为在firstValidator.jsp页面中已经设置了Content-Type的值).
在IE中输入http://localhost:8080/samples/forward.do可拜候forward行动.
以上是“Struts1.x系列教程(17)[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |