zoukankan      html  css  js  c++  java
  • 创建多个动作:

    右键点击项目名称,并单击“导出”> WAR文件创建一个WAR文件。然后这WAR部署在Tomcat的webapps目录下。最后启动Tomcat服务器,并尝试访问URL http://localhost:8080/HelloWorldStruts2/index.jsp。这会给你以下画面:

    让我们一起进入一个“SECRET”的话,你应该看到下面的页面:

    现在输入任何文字以外的“SECRET”,你应该看到下面的页面:

    创建多个动作:

    我们通常会定义一个以上的行动,以处理不同的请求,向用户提供不同的URL,因此,你可以定义不同的类定义如下:

    package com.yiibai.struts2;
    import com.opensymphony.xwork2.ActionSupport;
    
       class MyAction extends ActionSupport{
          public static String GOOD = SUCCESS;
          public static String BAD = ERROR;
       }
    
       public class HelloWorld extends ActionSupport{
          ...
          public String execute()
          {
             if ("SECRET".equals(name)) return MyAction.GOOD;
             return MyAction.BAD;
          }
          ...
       }
    
       public class SomeOtherClass extends ActionSupport{
          ...
          public String execute()
          {
             return MyAction.GOOD;
          }
          ...
       }
    

    您将在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.HelloWorld" 
             method="execute">
             <result name="success">/HelloWorld.jsp</result>
             <result name="error">/AccessDenied.jsp</result>
          </action>
          <action name="something" 
             class="com.yiibai.struts2.SomeOtherClass" 
             method="execute">
             <result name="success">/Something.jsp</result>
             <result name="error">/AccessDenied.jsp</result>
          </action>
       </package>
    </struts>
    

    在上述假设的例子中,你可以看到操作的结果被复制SUCCESS 和ERROR 。为了解决这个问题,我们建议您创建一个类,它包含的结果的结果。

    Struts 2 拦截器:

    拦截器是作为Servlet过滤器或JDK的Proxy类的概念上是相同的。拦截器允许横切功能单独实现动作以及框架。想要使用拦截器,可以实现如下:

    • Providing preprocessing logic before the action is called.

    • Providing postprocessing logic after the action is called.

    • Catching exceptions so that alternate processing can be performed.

    使用拦截器在Struts2框架提供的功能很多,例如包括异常处理,文件上传,生命周期回调和验证等。事实上,Struts2的基地很多其拦截功能上,这不是不可能有7或8每个动作拦截分配。

  • 相关阅读:
    VS Code 使用笔记
    Haskell语言开发工具
    Haskell语言学习笔记(81)Data.Typeable
    Haskell语言学习笔记(80)req
    Haskell语言学习笔记(79)lambda演算
    Haskell语言学习笔记(78)fix
    2733: [HNOI2012]永无乡
    牛课练习赛17
    bzoj3758. 数数
    【BZOJ1786】[Ahoi2008]Pair 配对
  • 原文地址:https://www.cnblogs.com/borter/p/9502142.html
Copyright © 2011-2022 走看看