struts2 的一个action中配置多个result input

转载 2012年03月29日 11:46:26

主题: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>

struts一个action处理多个方法

struts1:            struts1中一个action处理多个方法,通过让action继承DispachAction来实现            1. action继承Dispach...

Struts2一个Action内包含多个请求处理方法(三种方式)

Struts2一个Action内包含多个请求处理方法的处理(三种方式) Struts1提供了DispatchAction,从而允许一个Action内包含多个请求处理方法。Struts2也提供...

【AJAX】使用serialize()方法序列化表单元素值

我觉得这是个只可意会不可言传的方法,感觉不知道做啥,还不如直接看例子稍微能理解点。 使用serialize()方法可以将表单中有name属性的元素值进行序列化,生成标准URL编码文本字符串,直接可用...

myeclipse工作空间开不开怎么办

Myeclipse启动不了的解决方法    我们在开发过程中经常在加载大工程时由于项目很大,导致编译时间很长。或是其他原因导致进度条有时候一直在不停地跑,占用了大量内存,在无奈之下直接将进程ki...

struts2之Action配置的各项默认值、result配置的各种试图转发类型及为应用指定多个

struts2之Action配置的各项默认值、result配置的各种试图转发类型及为应用指定多个struts配置文件   1、Action配置的各项默认值 (1)、如果没有为acti...
  • kkrgwbj
  • kkrgwbj
  • 2014年08月27日 16:30
  • 410

【Struts2学习笔记(1)】Struts2中Action名称的搜索顺序和多个Action共享一个视图--全局result配置

1.获得请求路径的URI,例如url是:http://server/struts2/path1/path2/path3/test.action 2.首先寻找namespace为/path1/pat...

struts2环境配置是出现No result defined for action *** and result input”的错误信息

这几天,看了很多配置struts2的配置环境教程,总的来说其实都是差不多的。

Struts2配置一个Action实现多个请求

Hibernate Annotation

Struts2配置一个Action实现多个请求

struts2中的Action默认执行方法为execute(),尽管可以通过设置默认执行方法,但也难以改变一个一个方法的窘境。 那么,一个Action中多个方法,如何配置呢? 先上方法,简单举例:...

struts2中,一个Form表单配置多个action实现原理及案例

一、原理说明
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:struts2 的一个action中配置多个result input
举报原因:
原因补充:

(最多只允许输入30个字)