`

actiion input 属性

阅读更多

struts-config.xml中的对action的input属性的配置的目的就是用于validate失败后返回。
可以查看org.apache.struts.action.RequestProcessor中的源码,在processValidate()方法中有这样一段: 

  1. protected boolean processValidate(ActionMapping mapping,
  2.         ActionForm formInstance, HttpServletRequest request,
  3.         HttpServletResponse response)
  4.         throws IOException, ServletException {
  5.         ……
  6.         ActionErrors errors = formInstance.validate(mapping, request);
  7.         if ((errors == null) || errors.empty()) {
  8.             if (debug >= 1)
  9.                 log("  No errors detected, accepting input");
  10.             return (true);
  11.         }
  12.         ……
  13.         String uri = mapping.getInput();
  14.         ……
  15.         RequestDispatcher rd = getServletContext().getRequestDispatcher(uri);
  16.         ……
  17.         rd.forward(request, response);
  18.         return (false);
  19.     }

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这东西来存这个,这是一种浪费!你最好在用完之后清除掉!这样最保险!

      我也遇到这样的问题,应该有更好的解决办法.

分享到:
评论

相关推荐

    HTML5&CSS3网页制作:Input元素的其他属性.pptx

    Input元素的其他属性 Input元素的其他属性 01 autofocus属性 &lt;input type="password" autofocus="true"/&gt; 描述 autofocus属性用于指定页面加载后是否自动获取焦点,将标记的属性值指定为true时,表示页面加载完毕后...

    一个struts的action跳转大全

    如果validate ()返回非空的ActionErrors,将会被转到input属性指定的URI,如果返回空的ActionErrors,那么执行Action的 execute() 方法,根据返回的ActionForward确定目标URI。 这样做的效果是:execute()仅当...

    使用placeholder属性设置input文本框的提示信息

    form action="demo_form.asp" method="get"&gt; &lt;input type="search" name="user_search" placeholder="Search W3School" /&gt; &lt;input type="submit" /&gt; &lt;/form&gt; 定义和用法 placeholder 属性...

    谈谈你对Struts的理解。

    这个错误页面由input属性指定,(看配置文件)作者为什么将这里命名为input属性,而不是error属性,我们后面结合实际的运行效果进行分析。  4.action执行完后要返回显示的结果视图,这个结果视图是用一个Action...

    解决form中action属性后面?传递参数 获取不到的问题

    下面小编就为大家带来一篇解决form中action属性后面?传递参数 获取不到的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    php获取表单中多个同名input元素的值

    有时前台页面要允许动态增加/删除某项属性的多个值,比如向书架中添加书本,要可以动态增加或者删除书本。 前台页面的表单中会有多个input元素,如下: 复制代码 代码如下: &lt;form action=”a.php”&gt; &lt;input...

    用JS动态改变表单form里的action值属性的两种方法

    方法1: ...form id=form1 name=form1 method=post action=../news/index.asp&gt; &lt;td height=28&gt;&lt;input name=keyword type=text style=width:150px id=keyword/&gt; &lt;td height=28

    详解HTML的input 标签及其禁用方法

    定义和用法&lt;input&gt; 标签用于搜集用户信息。根据不同的 type 属性值,输入字段拥有很多种形式。输入字段可以是文本字段、...form action=form_action.asp method=get&gt;  First name: &lt;input type=tex

    html总结文档

    主要属性:id name action method 2.input元素:&lt;input/&gt; 主要属性:name type value class type: text submit button radio checkbox hidden reset file password 3.文本框/密码框:&lt;input ...

    详解HTML5表单新增属性

    1. 表单内元素的form属性 ...2. 表单内元素的formaction属性 在H4中,表单的提交方式 &lt;form action=1.jsp&gt; &lt;/form&gt; 提交整个表单 在H5中,可以为表单的每一个属性添加提交到的jsp页面 &lt;form action=1.

    关于html的表单元素详解(二)

    HTML Input 属性 value 属性 value 属性规定输入字段的初始值: &lt;form action=""&gt; &lt;input type="text" name="name" value="软件开发网"&gt; &lt;/form&gt; readonly 属性 readonly 属性规定输入字段为...

    Form表单的action和onSubmit示例介绍

    第一:action是form的属性,html5已经将其定义为必需的属性值,onSubmit为事件,通过&lt;input type=submit /&gt;提交时进行一个函数验证。。 第二:要说执行的先后顺序,个人理解是onSubmit在先,先验证,验证返回...

    html form表单input使用disabled后提交不能获取表单值的解决方法

    form表单输入框input设置disable属性提交后,得不到该输入框的值,解决该类问题可以参考下面两个方法: 方法一: 使用readonly带替代disabled,即把 disabled="disabled" 修改为 readonly="readonly" 二者区别: ...

    js实现点击图片自动提交action的简单方法

    主要用到了onclick, onchange, display属性,代码可以直接copy用。此代码适合上传单张图片,关于action部分此处没有,这里只简绍页面效果。 html代码 &lt;form action=p1....

    html5 input元素新特性_动力节点Java学院整理

    元素在HTML5中新增加的属性有:autocomplete 、autofocus、form、formaction、formenctype、formmethod、formnovalidate、formtarget、max、min、minlength、pattern、placeholder、readonly、required等等。...

    php ci 获取表单中多个同名input元素值的代码

    有时前台页面要允许动态增加/删除某项属性的多个值,比如向书架中添加书本,要可以动态增加或者删除书本。前台页面的表单中会有多个input元素,如下: 复制代码 代码如下: &lt;form action=”a.php”&gt; &lt;input ...

    jquery动态改变form属性提交表单

    有些情况下,同一个form在不同的情况下提交到不同的处理动作,可以在js中动态改变form的属性,满足不同条件的form提交需求。 如: 代码如下: &lt;form id=”form” name=”form” method=”POST” enctype=”...

    前端与移动开发之表单

    for属性是必须的 且for属性值必须是绑定表单元素的id的属性值 id属性值可以自定义 但不能重复 即全局唯一 (2)下拉表单元素 &lt;option value=""&gt;&lt;/option&gt; &lt;option selected=""&gt;&lt;/option&gt; ...

    使用模型驱动方便从表单获取用户输入的值

    在jsp页面中的表单元素中只需定义与pojo类SupplierSort相同的属性名称的表单元素即可,然后提交到对应的Action时就可以直接把名称相对应的表单元素赋值给supplierSort对象的属性。 例如: SupplierSort类的对象...

    JavaScript获得表单target属性的方法

    本文实例讲述了JavaScript获得表单target属性的方法。分享给大家供大家参考。具体实现方法如下: &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;body&gt; &lt;form id=frm1 action=form_action.asp target=_blank&gt; First...

Global site tag (gtag.js) - Google Analytics