struts-config.xml中的对action的input属性的配置的目的就是用于validate失败后返回。
可以查看org.apache.struts.action.RequestProcessor中的源码,在processValidate()方法中有这样一段:
- protected boolean processValidate(ActionMapping mapping,
- ActionForm formInstance, HttpServletRequest request,
- HttpServletResponse response)
- throws IOException, ServletException {
- ……
- ActionErrors errors = formInstance.validate(mapping, request);
- if ((errors == null) || errors.empty()) {
- if (debug >= 1)
- log(" No errors detected, accepting input");
- return (true);
- }
- ……
- String uri = mapping.getInput();
- ……
- RequestDispatcher rd = getServletContext().getRequestDispatcher(uri);
- ……
- rd.forward(request, response);
- return (false);
- }
mapping是一个ActionMapping对象,在ActionServlet对struts-config.xml进行解析时植入的。mapping.getInput()就返回该mapping对象对应的input属性。
*(************关于input属性的另外一个问题*************************************
当前页是动态页面,加了参数才生成的,当前页的表单认证失败后要回到当前页但是INPUT的路径是写在 struts-config.xml里的 怎么给后面加动态的参数?
>> .do后面可以加参数,顺便把struts配置里面对应的redirect设置为"true",就可用xx.do?sdasd=sdsad之类。)
<< 参数是变量。。。在form里的validate方法只会到input的路径上啊
>>INPUT是form验证不通过返回的地址 如果这个地址里面有参数 怎么办? 是动态的
<< 我这两天考虑了一下 不知道这样可行否
首先当前页面是根据那个参数动态生成 把需要显示的内容放到SESSION里
然后 input就写当前页面的URL 把后面标志当前内容的参数去掉 这样表单验证失败回到当前页面
由于显示的内容在session里 所有不需要那个参数也就能正常的显示了
这里还要在Action里做判断 如果有参数 那么针对这个参数从生成DTO 放到session
里,如果参数为NULL,直接 forward回这个页面,这个request肯定是验证失败INPUT过来的
这时SESSION已经有存放显示内容的 DTO,故正常显示
不知道这样可行否 我把我的改改 手里的项目 由于都是这种带参数的 所以表单验证都放到Action里了.
>> 不过你这种做法是不是的选择个适当时机把seesion里的值去掉,,要不session太大了
<< 我感觉你最好不要用SESSION这东西来存这个,这是一种浪费!你最好在用完之后清除掉!这样最保险!
我也遇到这样的问题,应该有更好的解决办法.
分享到:
相关推荐
Input元素的其他属性 Input元素的其他属性 01 autofocus属性 <input type="password" autofocus="true"/> 描述 autofocus属性用于指定页面加载后是否自动获取焦点,将标记的属性值指定为true时,表示页面加载完毕后...
如果validate ()返回非空的ActionErrors,将会被转到input属性指定的URI,如果返回空的ActionErrors,那么执行Action的 execute() 方法,根据返回的ActionForward确定目标URI。 这样做的效果是:execute()仅当...
form action="demo_form.asp" method="get"> <input type="search" name="user_search" placeholder="Search W3School" /> <input type="submit" /> </form> 定义和用法 placeholder 属性...
这个错误页面由input属性指定,(看配置文件)作者为什么将这里命名为input属性,而不是error属性,我们后面结合实际的运行效果进行分析。 4.action执行完后要返回显示的结果视图,这个结果视图是用一个Action...
下面小编就为大家带来一篇解决form中action属性后面?传递参数 获取不到的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
有时前台页面要允许动态增加/删除某项属性的多个值,比如向书架中添加书本,要可以动态增加或者删除书本。 前台页面的表单中会有多个input元素,如下: 复制代码 代码如下: <form action=”a.php”> <input...
方法1: ...form id=form1 name=form1 method=post action=../news/index.asp> <td height=28><input name=keyword type=text style=width:150px id=keyword/> <td height=28
定义和用法<input> 标签用于搜集用户信息。根据不同的 type 属性值,输入字段拥有很多种形式。输入字段可以是文本字段、...form action=form_action.asp method=get> First name: <input type=tex
主要属性:id name action method 2.input元素:<input/> 主要属性:name type value class type: text submit button radio checkbox hidden reset file password 3.文本框/密码框:<input ...
1. 表单内元素的form属性 ...2. 表单内元素的formaction属性 在H4中,表单的提交方式 <form action=1.jsp> </form> 提交整个表单 在H5中,可以为表单的每一个属性添加提交到的jsp页面 <form action=1.
HTML Input 属性 value 属性 value 属性规定输入字段的初始值: <form action=""> <input type="text" name="name" value="软件开发网"> </form> readonly 属性 readonly 属性规定输入字段为...
第一:action是form的属性,html5已经将其定义为必需的属性值,onSubmit为事件,通过<input type=submit />提交时进行一个函数验证。。 第二:要说执行的先后顺序,个人理解是onSubmit在先,先验证,验证返回...
form表单输入框input设置disable属性提交后,得不到该输入框的值,解决该类问题可以参考下面两个方法: 方法一: 使用readonly带替代disabled,即把 disabled="disabled" 修改为 readonly="readonly" 二者区别: ...
主要用到了onclick, onchange, display属性,代码可以直接copy用。此代码适合上传单张图片,关于action部分此处没有,这里只简绍页面效果。 html代码 <form action=p1....
元素在HTML5中新增加的属性有:autocomplete 、autofocus、form、formaction、formenctype、formmethod、formnovalidate、formtarget、max、min、minlength、pattern、placeholder、readonly、required等等。...
有时前台页面要允许动态增加/删除某项属性的多个值,比如向书架中添加书本,要可以动态增加或者删除书本。前台页面的表单中会有多个input元素,如下: 复制代码 代码如下: <form action=”a.php”> <input ...
有些情况下,同一个form在不同的情况下提交到不同的处理动作,可以在js中动态改变form的属性,满足不同条件的form提交需求。 如: 代码如下: <form id=”form” name=”form” method=”POST” enctype=”...
for属性是必须的 且for属性值必须是绑定表单元素的id的属性值 id属性值可以自定义 但不能重复 即全局唯一 (2)下拉表单元素 <option value=""></option> <option selected=""></option> ...
在jsp页面中的表单元素中只需定义与pojo类SupplierSort相同的属性名称的表单元素即可,然后提交到对应的Action时就可以直接把名称相对应的表单元素赋值给supplierSort对象的属性。 例如: SupplierSort类的对象...
本文实例讲述了JavaScript获得表单target属性的方法。分享给大家供大家参考。具体实现方法如下: <!DOCTYPE html> <html> <body> <form id=frm1 action=form_action.asp target=_blank> First...