zoukankan      html  css  js  c++  java
  • struts2的action方法匹配以及通配符的使用

    1、 ActionMethod:Action执行的时候并不一定要执行execute方法,可以在配置文件中配置action的时候用“method”属性来指定执行哪个方法,也可以在url地址中动态指定(动态方法调用DMI)struts.xml文件的配置:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
        <constant name="struts.devMode" value="true" />
        <package name="user" extends="struts-default" namespace="/user">
            <action name="userAdd" class="com.bjsxt.struts2.user.action.UserAction" method="add">
                <result>/user_add_success.jsp</result>
            </action>
            <action name="user" class="com.bjsxt.struts2.user.action.UserAction">
                <result>/user_add_success.jsp</result>
                <result name="delete">/user_delete_success.jsp</result>
            </action>
        </package>
    </struts>

    index.jsp页面的内容:

    <?xml version="1.0" encoding="GB18030" ?>
    <%@ page language="java" contentType="text/html; charset=GB18030"
        pageEncoding="GB18030"%>
    <% String context = request.getContextPath(); %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GB18030" />
    <title>Insert title here</title>
    </head>
    <body>
         <a href="<%=context %>/user/userAdd">添加用户</a><br />
         <a href="<%=context %>/user/user!add">添加用户</a><br />
         <a href="<%=context %>/user/user!delete">删除用户</a><br />
    </body>
    </html>

    UserAction的内容:

    package com.bjsxt.struts2.user.action;
    import com.opensymphony.xwork2.ActionSupport;
    public class UserAction extends ActionSupport {
         public String add() {
             return SUCCESS;
         }
         public String delete(){
             return "delete";
         }    
    }

    2、 使用通配符
    strtus.xml文件的配置

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
        <constant name="struts.devMode" value="true" />
        <package name="actions" extends="struts-default" namespace="/actions">
            <action name="Student*" class="com.bjsxt.struts2.action.StudentAction" method="{1}">
                <result>/Student{1}_success.jsp</result>
            </action>
            
            <action name="*_*" class="com.bjsxt.struts2.action.{1}Action" method="{2}">
                <result>/{1}_{2}_success.jsp</result>
            </action>
        </package>
    </struts>

    Action的内容:

    public class CourseAction extends ActionSupport {
         public String add() {
             return SUCCESS;
         }
         public String delete() {
             return SUCCESS;
         }
    }
    public class StudentAction extends ActionSupport {
         public String add() {
             return SUCCESS;
         }
         public String delete() {
             return SUCCESS;
         }
    }
    public class TeacherAction extends ActionSupport {
         public String add() {
             return SUCCESS;
         }
         public String delete() {
             return SUCCESS;
         }
    }

      index.jsp页面的内容:

    <?xml version="1.0" encoding="GB18030" ?>
    <%@ page language="java" contentType="text/html; charset=GB18030"
         pageEncoding="GB18030"%>
    <%String context = request.getContextPath();%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
         <head>
             <meta http-equiv="Content-Type" content="text/html; charset=GB18030" />
             <title>Insert title here</title>
         </head>
         <body>
             使用通配符,将配置量降到最低<br />
             <a href="<%=context%>/actions/Studentadd">添加学生</a>
             <a href="<%=context%>/actions/Studentdelete">删除学生</a><br />
             不过,一定要遵守"约定优于配置"的原则<br />
             <a href="<%=context%>/actions/Teacher_add">添加老师</a>
             <a href="<%=context%>/actions/Teacher_delete">删除老师</a>
             <a href="<%=context%>/actions/Course_add">添加课程</a>
             <a href="<%=context%>/actions/Course_delete">删除课程</a>
         </body>
    </html>

    相应的jsp页面有:
    Course_add_seccess.jsp
    Course_delete_success.jsp
    Teacher_add_seccess.jsp
    Teacher_delete_success.jsp
    Studentadd_success.jsp
    Studentdelete_success.jsp

    http://blog.csdn.net/llbupt/article/details/6638078

  • 相关阅读:
    使用 MDT 2010 进行可伸缩部署
    Windows Phone 7 WebBrowser 中文乱码问题
    如何安装Windows Phone SDK 7.1 Release Candidate (RC)
    Windows Phone应用 博客园阅读器
    将WindowsPhoneApp部署到HTC Surround,兄弟们支个招如何进行Debug
    私有代码存放仓库 BitBucket
    入门:添加一个支持获取单一资源以及支持POST,PUT和DELETE方法
    Html5 学习利器 Web Standards Update for Microsoft Visual Studio 2010 SP1
    在启用了IPV6的机器上获取客户端ipv4地址
    EMA算法的C#实现
  • 原文地址:https://www.cnblogs.com/itommy/p/10610334.html
Copyright © 2011-2022 走看看