zoukankan      html  css  js  c++  java
  • 创建动作-Action:

    在Struts2的行动,唯一的要求是,必须有一个无参数的方法,该方法返回一个字符串或结果的对象,必须是一个POJO。如果不带参数的方法不指定,则默认行为是使用execute()方法。

    您也可以选择扩展ActionSupport类实现接口,包括操作界面。操作界面如下:

    public interface Action {
       public static final String SUCCESS = "success";
       public static final String NONE = "none";
       public static final String ERROR = "error";
       public static final String INPUT = "input";
       public static final String LOGIN = "login";
       public String execute() throws Exception;
    }
    

    让我们一起来看看在动作方法中的Hello World示例:

    package com.yiibai.struts2;
    
    public class HelloWorldAction{
       private String name;
    
       public String execute() throws Exception {
          return "success";
       }
       
       public String getName() {
          return name;
       }
    
       public void setName(String name) {
          this.name = name;
       }
    }
    

    为了说明这一点的操作方法控制视图,让我们作出以下更改execute()方法和扩展的类ActionSupport如下:

    package com.yiibai.struts2;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    public class HelloWorldAction extends ActionSupport{
       private String name;
    
       public String execute() throws Exception {
          if ("SECRET".equals(name))
          {
             return SUCCESS;
          }else{
             return ERROR;  
          }
       }
       
       public String getName() {
          return name;
       }
    
       public void setName(String name) {
          this.name = name;
       }
    }
    

    在这个例子中,我们在execute方法中有一些逻辑,看的name属性。如果属性等于“不能说的秘密”的字符串,返回成功的结果,否则返回错误的结果。因为我们已经扩展了ActionSupport,所以我们可以使用字符串常量的成功和错误。现在,让我们修改我们的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="helloworld" extends="struts-default">
             <action name="hello" 
                class="com.yiibai.struts2.HelloWorldAction"
                method="execute">
                <result name="success">/HelloWorld.jsp</result>
                <result name="error">/AccessDenied.jsp</result>
             </action>
          </package>
    </struts>
  • 相关阅读:
    Setting up SharePoint Blogs, Wikis, and Announcements
    Reports 将透视表显示成没有级联关系的普通表
    TF80012: The document cannot be opened because there is a problem with the installation of the Microsoft Visual Studio v
    项目干系人分析的“四步法”
    Overload和Override的区别
    Add and Customize a Type of Work Item
    将所有的非DLL, PDB文件从一个位置Copy到另外一个位置,相同文件跳过
    如何删除工作项
    No Excel Calculation Services is available in the farm
    SPORTINGLIFE.COM
  • 原文地址:https://www.cnblogs.com/borter/p/9502138.html
Copyright © 2011-2022 走看看