• struts2入门,struts.xml配置


    建立一个使用struts的程序其实步骤并不是很多,

    1, 在web.xml里面配置好过滤器,

    2, 导入需要的struts Jar包。

    3, 设置struts.xml的监听 ,决定action由谁来处理

    4, 完成设置的action监听类。

     

    过滤器的种类貌似很多,还不是很清楚它们之间的区别。

     

    通过.properties文件进行字符串配置,可以配置出多种语言, android也有类似的语言国际化方案。使用的时候,通过

    <(struts标签名):text name="(字符名)"/>

    来调用。

     

    EL表达式: 

    ${sessionScope.user} 表示session中取出user

     

     

    struts.xml的监听方案很灵活,可以做很多的配置

    比如下面这个,客户端提交的表单的action是login,则调用第一个

    loginAction 第二个

    LoginAction 第三个

    <packagename="lee" extends="struts-default">

     

         <!-- 配置name="*Action"的第二个Action -->

         <action name="*Action"class="org.crazyit.app.action.TwoAction">

             <resultname="success">/welcome.jsp</result>

         </action>

         <!-- 配置name="*"的第一个Action -->

         <action name="*"class="org.crazyit.app.action.FirstAction">

             <resultname="success">/welcome.jsp</result>

         </action>

         <!-- 配置name为LoginAction的第三个Action -->

         <action name="LoginAction"class="org.crazyit.app.action.LoginAction">

             <resultname="error">/error.jsp</result>

             <resultname="success">/welcome.jsp</result>

         </action>

    </package>

    当有多个方法需要选择执行的时候,可以在struts.xml配置,也可以直接使用

    actionname!methodname.action的方式,比如如下配置:

    <packagename="lee" extends="struts-default">

            <!-- 配置loginAction,处理类为LoginRegistAction

                默认使用execute方法处理请求-->

            <action name="login"class="org.crazyit.app.action.LoginRegistAction">

                <!-- 定义逻辑视图和物理视图之间的映射关系 -->

                <resultname="input">/login.jsp</result>

                <resultname="error">/error.jsp</result>

                <resultname="success">/welcome.jsp</result>

            </action>

            <!-- 配置registAction,处理类为LoginRegistAction

                指定使用regist方法处理请求-->

            <action name="regist"class="org.crazyit.app.action.LoginRegistAction"

                method="regist">

                <!-- 定义逻辑视图和物理视图之间的映射关系 -->

                <resultname="input">/login.jsp</result>

                <resultname="error">/error.jsp</result>

                <resultname="success">/welcome.jsp</result>

            </action>

        </package>

    如果需要注册,点击注册的时候,使用javascript将form的action改为regist,就会调用注册方法。

    <inputtype="submit"value="注册"onclick="regist();"/>

    <scripttype="text/javascript">

    function regist()

    {

       //获取页面的第一个表单

       targetForm = document.forms[0];

       //动态修改表单的action属性

       targetForm.action = "regist";

    }

    </script>

    如果使用!方式调用,如formaction="login!regist.action" 则仍然调用的是regist方法。

    还可以为action配置 namesapce 

    action="HelloWorld" namespace="/tt" 等价于
    action="/tt/HelloWorld.action"


    还可以使用类似{}的字符处理方案,如<action name="*Action" class="com.namespace.LoginRegistAction" method="{1}"> 动态选择执行的函数

    <action name="*Action" class="com.namespace.{1}Action">

    还可以使用el表达式动态设定结果的目标页面 <result name="success">/${target}.jsp</result>

    target由Jsp通过form提交到Action处理类,


  • 相关阅读:
    [No000037]操作系统Operating Systems操作系统历史与硬件概况History of OS & Summaries!
    [No000036]操作系统Operating Systems系统调用的实现System_Call
    [No000035]操作系统Operating System之OS Interface操作系统接口
    [No000034]知乎-长期接收碎片化知识有什么弊端?
    [No000033]码农网-如何锻炼出最牛程序员的编码套路
    [No000032]程序员的年龄天花板
    [No000031]操作系统 Operating Systems 之Open the OS!
    [No000030]程序员节发点别的:中国教育整个把人脑子搞坏了-易中天
    [No00002F]3步,教你如何分解需求
    [No00002E]关于大数据,你不知道的6个迷思
  • 原文地址:https://www.cnblogs.com/suijing/p/3379396.html
Copyright © 2020-2023  润新知