jsp中的action,jsp中action的用法

  jsp中的action,jsp中action的用法

  如何解决写爬虫IP受阻的问题?立即使用。

  类是用户请求和业务逻辑之间的桥梁,每个动作充当客户的业务代理。当RequestProcessor类预处理请求时,它在创建Action实例后调用自己的processActionPerform()方法,该方法调用Action类的execute()。

  推荐课程:Java教程。

  下面介绍jsp中的action功能:

  完整的action

  操作路径=/aFullAction

  type= some package . someactionclass

  name=someForm

  input=someJSP.jsp

  forward name= successful path= some JSP . JSP /

  forward name= failed path= someother JSP . JSP /

  /action首先Struts的ActionServlet接收一个请求,然后根据struts-config.xml的配置定位到对应的映射;接下来,如果表单的范围是request或者在定义的范围内很难找到表单,那么创建一个新的表单实例;获取表单实例后,调用其reset()方法,然后将表单中的参数放入表单中。如果validate属性不为false,则调用validate()方法;如果validate()返回一个非空的ActionErrors,它将被传输到由输入属性指定的URI。如果返回空ActionErrors,则执行操作的execute()方法,根据返回的ActionForward确定目标URI。

  这样做的效果是:execute()只会在validate()成功后执行;输入属性指定了一个URI。

  仅有JSP的action

  操作路径=/aJSPOnlyAction

  type= org . Apache . struts . actions . forward action

  parameter=someOtherJSP.jsp

  /首先ActionServlet收到请求后调用ForwardAction的execute()方法,根据配置的参数属性值执行()转发到那个URI。

  这样做的效果是:没有表单被实例化,但更现实的情况可能是表单是在更高层次的请求中定义的;或者这个动作在应用编译后作为系统参数,只需要修改配置文件,不需要重新编译系统。

  两个action对应一个form

  操作路径=/a action

  type= some package . someactionclass

  name=someForm

  input=someJSP.jsp

  forward name= successful path=/another action . do /

  /操作

  操作路径=/anotherAction

  type= some package . someotheractionclass

  name=someForm

  input=someOtherJSP.jsp

  forward name= successful path= some result JSP . JSP /

  /action就每个单独的动作而言,处理和完成动作之间没有实质性的区别。这种复合模式可以用来传递命令形式。注意,表单的reset()和validate()方法也将在后面的操作中被调用,所以我们必须确保表单中的信息不会被重写。

  有两种处理方法:

  a)在请求中放入一个指示符,表示前一个动作打算将表单传递给下一个动作,以便在后一个动作中可以保留那个表单中的值。此方法只能在使用forward时使用。

  b)当使用redirect而不是forward时,可以将指示符放在session或更高级别,并在命令链的最后一次循环时清除该指示符。

  操作路径=/a action

  type= some package . someactionclass

  name=someForm

  input=someJSP.jsp

  forward name= successful path=/another action . do redirect= true /

  /操作

  操作路径=/anotherAction

  type= some package . someotheractionclass

  name=someOtherForm

  input=someOtherJSP.jsp

  forward name= successful path= some result JSP . JSP /

  /action的组合在流程上和前面的区别不大,但是现在我们分别为两个动作提供了表单,所以代码看起来更清晰。所以我们可以分别处理WEB应用程序的输入和输出。

  值得注意的是,后一个动作也会试图将那些参数写入表单,但是我们可以这样处理它:

  a)使用后一种形式的另一组属性名;

  b)只提供getter,不提供setter。

  大致的处理是这样:

  前一个操作接收输入,验证它,然后将数据写入业务层或持久层,并将其重定向到下一个操作。后一个动作从业务层/持久层手动取出数据,写入表单(通过其他方式),并呈现给前台JSP进行显示。

  这样做的好处是,您不必将值保存在输入表单中,因此您可以使用redirect而不是forward。这样降低了两个动作之间的耦合度,同时也避免了不必要的重复提交。这就是jsp中动作的细节。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: