zoukankan      html  css  js  c++  java
  • Struts2,Action的几种书写方式和通配符的使用

    1.第一种方法:

    package com.maya.test1;
    import java.text.DateFormat;
    import java.util.Calendar;
    import com.opensymphony.xwork2.ActionSupport;
    
    public class GetAction1 extends ActionSupport {
    private String date;
    @Override
    public String execute() throws Exception { 
    return super.execute();
    }
    //如下所示通过调用action中的方法直接在页面中显示
    public String yi(){ 
    date=DateFormat.getInstance().format(Calendar.getInstance 
    ().getTime());
    return date;
    }
    public String getDate() {
    return date;
    }
    public void setDate(String date) {
    this.date = date;
    }
    }
    <!-- XML,action配置 -->
    <constant name="struts.enable.DynamicMethodInvocation" 
    value="true" /><!-- 动态方法激发,默认是false -->
    <constant name="struts.devMode" value="true" /><!-- 跟踪,生成 
    很多调试信息,开发时写为true -->
    此时动态方法激发要改为true,才能正确执行
    
    <!-- 当我请求getAction1时在地址栏后面跟上!加上其action中方法, 
    就可以成功调用 -->
    <action name="getAction1" 
    class="com.maya.test1.GetAction1">
    <result name="yi">GetDate.jsp</result>
    </action>

    (上面的方法,不常用知道就好了)

    2.第二种方法:

    package com.maya.action;
    import com.opensymphony.xwork2.ActionSupport;
    import com.opensymphony.xwork2.ModelDriven;
    
    public class InfoAction extends ActionSupport{ 
    @Override
    public String execute() throws Exception { 
    return SUCCESS;
    }
    public String add(){
    
    return SUCCESS;
    } 
    }
    <action name="Info_add" class="com.maya.action.InfoAction" 
    method="add"><!-- method的属性值要与action中的方法名一致 -->
    <result>Info_find</result>
    </action>

    但是如果写的方法太多,一个方法一个action的这样写的话,就会显得非
    常多,所以一般采用通配符的方式进行规范化。(如下所示)

    <action name="*_*" class="com.maya.action.{1}Action" method="{2}">
                <result name="success">{1}_{2}.jsp</result>
            </action>
            <!--
                 第一个星一般都是写成action类名的第一部分Info,后一个星代表方法名,
                所以{1},{2}就能自动匹配,我们就少写了很多的代码,
                所以jsp页面的命名规范就是类名的前一部分加上方法名
             -->
  • 相关阅读:
    反馈表单,JQUERY无刷新,数字验证
    漂亮的js删除确认提示框
    AJAX jQuery tab,动态加载选显卡
    获取系统变量的小小程序
    synchronized的用法简介
    代理模式之浅谈
    java生成可执行文件的方法总结
    设计模式之策略模式浅谈
    Android通过Socket(TCP/IP)与PC通讯
    JavaGUI编程简单介绍
  • 原文地址:https://www.cnblogs.com/AnswerTheQuestion/p/6545016.html
Copyright © 2011-2022 走看看