主题:struts2 的一个action中配置多个result input 讨论下

本文来自: 浪曦视频在线 作者: hoojo 发表于: 2009-6-4 19:05 阅读: 2005 人 收藏

 

看过张老师的struts2视频或是学过Struts2 的哥们儿,都知道Struts2 的验证方法或是验证框架。都是没有一个返回值的,不像action中的方法,都有一个返回值。如:success、error 还可以自定义。
大家有没有想过,如果一个struts.xml 中配置一个action ,而这个action有多个验证方法。
而这些验证方法都是通过*-validation.xml 来验证的。那么struts.xml 中的action 的
<result name="input">/*.jsp</result>只能有一个对吧。
但是有多个错误结果显示页面。那么input 的result怎么配呢。
条件是:一个action 中用*-方法-validation.xml 或是*-validation.xml的验证方法,
去验证输入效验。如果验证用户输入信息错误,将会把错误信息 显示到刚才填写表单的页面。
请问struts.xml 中的action的result input 怎么配置???
谢谢。
本人目前知道用动态的action 可以解决(通配符的方式)
<action name="user_*" class="com.test.action.UserAction" method="{1}">
<result name="success">/success.jsp</result>
<result name="input">/user_{1}.jsp</result>
</action>
但是这种方法的jsp页面名称就定义的很死板,必须是user_开头,后面接方法名称。
eg:user_login.jsp、user_reg.jsp
请问各位老师、同学、哥们儿 有没有更好的解决方法???

你也可以这样玩:
action:
<action name="*_Action" class="com.deng.PersonInfo" method="{1}" >
            <result name="add">/example/add.jsp</result>
            <result name="update">/example/update.jsp</result>
            <result name="delete">/example/delete.jsp</result>
</action>

jsp:
   <a href="example/add_Action.action">增加</a><br>
   <a href="example/delete_Action.action">删除</a><br>
   <a href="example/update_Action.action">修改</a><br>

学东西不要只看视频学,要多动脑筋,看原理。视频只是给你一个大概轮廓,实际中开发中与视频是不
相同的,哥们!
---------------------------------------------------------------------------------------------------------------------------------------------------
现在的主流搞法都是annotation无配置文件,你再看看这样玩:

web.xml中配置FilterDispatcher,代码如下
<filter>
       <filter-name>struts2</filter-name>
       <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
       <init-param>
                   <param-name>actionPackages</param-name>
                   <param-value>com.deng.action</param-value>
       </init-param>
</filter>
<filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
</filter-mapping>

action:
LoginAction.java
package com.deng.action;
import java.util.Map;
import org.apache.struts2.config.NullResult;
import org.apache.struts2.config.ParentPackage;
import org.apache.struts2.config.Result;
import org.apache.struts2.config.Results;
import org.apache.struts2.dispatcher.ServletActionRedirectResult;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionSupport;

@Results( {
@Result(name ="add", value = "/add.jsp", type = NullResult.class),
@Result(name ="update", value = "/update.jsp", type = NullResult.class),
@Result(name ="delete", value = "/delete.jsp", type = NullResult.class),
@Result(name ="query", value = "/query.jsp", type = NullResult.class)
})
public class LoginAction extends ActionSupport{
public String update() {
     System.out.println("--update--");
          return "update";            
  }
    public String delete() {
     System.out.println("--delete--");
          return "delete";           
    }
public String add() {
     System.out.println("--add--");
          return "add";           
    }
     
    public String query() {
     System.out.println("--query--");
          return "query";           
    }
     
    @Override
public String execute() throws Exception {
  System.out.println("----默认进入方法!---");
  return null;
}   
}

相关jsp页面:
index.jsp:
<a href="login!add.action">增加</a><br>
<a href="login!delete.action">删除</a><br>
<a href="login!update.action">修改</a><br>
<a href="login!query.action">查找</a><br>

struts2 的一个action中配置多个result input相关推荐

  1. Struts2从一个action转到另一个action的两种方法

    在Struts2中,Action处理完用户请求后,将会返回一个字符串对象,这个字符串对象就是一个逻辑视图名.Struts 2通过配置逻辑视图名和物理视图之间的映射关系,一旦系统收到Action返回的某 ...

  2. Struts2之一个Action包含多个控制处理逻辑

    http://www.cnblogs.com/freeabyss/p/3290297.html 一.使用Action的动态方法调用     如果一个页面包含多个按钮,系统分别提交给Action的不同方 ...

  3. Struts2,在Action中使用session

    为什么80%的码农都做不了架构师?>>>    在Struts2里,如果需要在Action中使用session,可以通过下面两种方式得到 1.通过ActionContext clas ...

  4. struts2:在Action中使用Servlet的API,设置、读取各种内置对象的属性

    有两种方式可以实现在Action中使用Servlet的API.一种是使用org.apache.struts2.ServletActionContext类,另一种是使用com.opensymphony. ...

  5. struts2从一个action跳到另一个action的配置方法

    作者:yan struts.xml可以几种配置: 1. ...... <result name="exportXls_suc" type="chain"& ...

  6. struts2使用注解--ACTION中的应用

    1.在类中指定包:@ParentPackage("system").其中system是在struts.xml中定义的包名. 2.配置文件--->注解 2.1配置文件方式(返回 ...

  7. 在Xcode中配置Python 并支持input

    网上的很多配置Xcode执行Python脚本的方法很繁琐,容易搞错,而且不支持input() 或 raw_input() .于是我想了一种新的方法.主要原理是自己编写Xcode支持的C++程序,在里面 ...

  8. struts2 action中result参数详解

    chain 用来处理Action链 com.opensymphony.xwork2.ActionChainResult dispatcher 用来转向页面,通常处理JSP org.apache.str ...

  9. struts2的action中获得request response session 对象

    在struts2中有两种方式可以得到这些对象 1.非IoC方式 要获得上述对象,关键Struts 2中com.opensymphony.xwork2.ActionContext类.我们可以通过它的静态 ...

最新文章

  1. 二叉树的层序遍历和二叉树的线索化
  2. pytest第一版 入门学习
  3. 一道问题引出的python中可变数据类型与不可变数据类型
  4. php 比较数组中的元素,php – 比较多维数组中的元素
  5. 笔算除法 c语言,《两、三位数除以一位数,笔算》
  6. python1~10阶乘_小练习 python3 阶乘运算
  7. Codeforces Technocup 2017 - Elimination Round 2 E Subordinates(贪心)
  8. 20款超酷的404错误页面(上)
  9. kernel oops_Java中的OOPS概念– OOPS概念示例
  10. python找出列表间隐含的关联关系以及重复模式
  11. 获取git的当前分支名称
  12. 基于SSM+SpringBoot+Vue的高校竞赛赛事管理系统
  13. scsi接口服务器硬盘转速,服务器硬盘接口SCSI结构、特点详解
  14. react-native-beacons-manager在Android上的使用 --工作笔记
  15. Java网络象棋游戏(功能版)
  16. pandas美国人口分析实例
  17. 山寨山寨版手机安全卫士源码项目
  18. Symbian S60 5th 切换程序UI方向为横屏或竖屏
  19. 字节跳动音乐梅开二度,腾讯音乐、网易云要警惕了
  20. Scala类和成员变量的讲解。

热门文章

  1. [论坛整合]Oblog 3.0 与动网的整合方法
  2. StretchDIBits()函数
  3. 解决TypeError at /xadmin/ login() got an unexpected keyword argument 'extra_context'
  4. google推出了新闻搜索服务!
  5. taskkill详解
  6. SQL SERVER CONVERT函数说明
  7. 为何汽车制造商需要关注HTML5
  8. setBackgroundDrawable和setBackgroundColor的用法
  9. 再获国际权威技术研究机构认可!Rancher获评451 Research卓越创新者
  10. CorePlot_1.5.1 绘制散点图(折线图、曲线图、直方图)