struts2配置文件详解

首先是可以配置struts.xml的代码提示功能,但是感觉没太大必要,看下面这篇

http://jingyan.baidu.com/article/9158e0004054baa2541228e2.html

使用struts2的原因是把请求和视图分开

<?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>    
struts.xml

<!-- 打开开发模式,修改配置文件后不用重启服务器 -->
<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">

原文地址:https://www.cnblogs.com/wangkaipeng/p/5730427.html