您的位置:首页 > 编程语言 > Java开发

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

2012-03-29 11:46 344 查看


主题: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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐