struts2配置文件详解
首先是可以配置struts.xml的代码提示功能,但是感觉没太大必要,看下面这篇
http://jingyan.baidu.com/article/9158e0004054baa2541228e2.html
使用struts2的原因是把请求和视图分开
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <!-- 打开开发模式,修改配置文件后不用重启服务器 --> <constant name="struts.devMode" value="true" /> <!-- namespace="/" 对应路径 --> <!-- http://localhost:8081/maShiBing/front/hello.action (action可以省略) --> <package name="front" namespace="/front" extends="struts-default"> <!-- 没有class的时候默认执行ActionSupport类 --> <action name="hello"> <!-- 把请求和视图分开 --> <!-- result不写名字,默认为success --> <result> /Hello.jsp </result> </action> <!-- 每次访问new出一个新的action --> <!-- 这种方式访问具体方法 http://localhost:8081/maShiBing/front/guess!add--> <action name="guess" class="com.ouc.wkp.action.IndexAction"> <result> /Hello.jsp </result> <result name="error"> /index.jsp </result> </action> </package> <!-- namespace不写默认为namespace="" 可以用来囊括其他package处理不了的action--> <!-- http://localhost:8081/maShiBing/xxx(随意加)/ooo 都可以访问--> <package name="main" namespace="" extends="struts-default"> <action name="ooo"> <result> /index.jsp </result> </action> </package> </struts>
<!-- 打开开发模式,修改配置文件后不用重启服务器 -->
<constant name="struts.devMode" value="true" />
<!-- 感叹号访问方式叫DMI Dynamic Method Invocation动态方法调用-->
<constant name="struts.enable.DynamicMethodInvocation" value="false"></constant>
package的namespace定义访问路径,即紧跟在项目后的内容。如果namespace="",可以用来囊括其他package处理不了的action。
action的name即跟在namespace后面的内容。当action没有指定类的时候,默认new出ActionSupport类。每次访问都实例化一个新的类
result根据Action类的返回值返回视图,result不写名字,默认为success
http://localhost:8081/maShiBing/front/guess!add可以访问namespace为front,action的name为guess,action所指定的class类里面的add方法
约定优于配置 命名规则要一样
解决中文问题
<constant name="struts.i18n.encoding" value="GBK">