4_struts2配置文件(struts.xml)详解:
4.1指定web应用默认字符集:
表示指定了资源文件的放置在classes目录下,基本名是messages,则在classes目录下您就应该放置类似messages_zh_CN.properties,message_en.properties名的文件,实现Struts2的国际化
4.2开发模式使用:
ture:是开启,false:是关闭
开发阶段:一般使用开发模式。好处是:修改Action,xml文件后不需要重新启动服务器,直接可以看到结果。
发布阶段:关闭开发模式,因为在开发模式中,一直会检测是否更新代码,牺牲性能,而且发布后不需要检查代码是否更新。
4.3package的配置:
这里的package(包)不是java中的包,而是Struts配置文件中的
4.3.1代码示例:
4.3.2属性简单说明:
属性名 |
是否必须 |
简单说明 |
name |
是 |
Package的唯一标识,不允许同名 |
extends |
否 |
指定要继承的包 |
namespace |
否 |
指定名称空间,根据不同的命名空间划分不同的功能模块,即使Action名字相同,只要位于不同的命名空间就可以执行了。 |
abstract |
否 |
声明包为抽象否 |
4.3.3配置Action
1.Action的配置信息是将:url、Action、展示页面联系起来
2.url与Action的name属性对应
3.class属性指定了Action类
4.
4.3.4配置result
1.name跟Action返回的字符串匹配,不同的字符匹配不同的result
Name如果没有指定值,默认是"SUCCESS",另外,Action中也定义了很多个常量,方便我们统一指定name
2.type(默认是dispatcher,类似于Servlet中的forward请求)
Type值 |
使用说明 |
chain |
用来处理Action链,被跳转的action中仍能获取上个页面的值,如request信息。 com.opensymphony.xwork2.ActionChainResult |
dispatcher |
用来转向页面,通常处理JSP org.apache.struts2.dispatcher.ServletDispatcherResult |
freemaker |
处理FreeMarker模板 org.apache.struts2.views.freemarker.FreemarkerResult |
httpheader |
控制特殊HTTP行为的结果类型 org.apache.struts2.dispatcher.HttpHeaderResult |
stream |
向浏览器发送InputSream对象,用来处理文件下载,还可用于返回AJAX数据 org.apache.struts2.dispatcher.StreamResult |
velocity |
处理Velocity模板 org.apache.struts2.dispatcher.VelocityResult |
xsl |
处理XML/XLST模板 org.apache.struts2.views.xslt.XSLTResult |
plainText |
显示原始文件内容,例如文件源代码 org.apache.struts2.dispatcher.PlainTextResult |
redirect |
重定向到一个URL ,被跳转的页面中丢失传递的信息,如request org.apache.struts2.dispatcher.ServletRedirectResult |
redirectAction |
重定向到一个Action ,跳转的页面中丢失传递的信息,如request org.apache.struts2.dispatcher.ServletActionRedirectResult |
redirect-action |
重定向到一个Action ,跳转的页面中丢失传递的信息,如request org.apache.struts2.dispatcher.ServletActionRedirectResult |
redirect与redirect-action区别
一、使用redirect需要后缀名使用redirect-action不需要后缀名
二、type="redirect" 的值可以转到其它命名空间下的action,而redirect-action只能转到同一命名空下的 action,因此它可以省略.action的后缀直接写action的名称。如:
3.path
代表与result对应的处理程序(一般为显示页面或者某个Action),path可以通过
4.全局result
意思是说,当配置全局result的时候,所有的Action都可以使用。
4. 4通配符配置Action
4.4.1 Struts.xml截图
4.4.2 UserAction截图
4.4.3 页面命名方式截图
4.4.4 浏览器输入规范和显示结果:
4. 5多配置文件实现
多人协作完成项目,因此,在Struts.xml文件中,利用
注意事项:包名、命名空间唯一,不能相同。
4. 6通过注释实现Action的零配置
通过在类里面定义,实现零配置,hibernate里面使用会比较好,在Struts 还是建议用xml,因为比较快!
错误总结:
有时候会显示找不到路径解决如下~