struts中使用form标记

原创 2004年02月20日 11:30:00

struts中使用form标记

struts在页面中使用form标记的注意事项
    struts的form标记定义了一个页面的表单,但该struts标记需要根据action的值来查找module config里的action mapping,并根据action mapping的值来初始化action form。因此,在form标记中需要获取一个module config。在这里,获取哪一个module config成为了form标记能否正常工作的关键,如果module config的获取值不正确,将会造成对应的action mapping找不到或者找到但却不是正确的action mapping。从而造成Cannot retrieve mapping for {action name}的错误或者其他意外错误。在form标记的lookup方法中,包含了该查找module的过程,它的查找方法为首先从request中获取当前的module config,如果没有找到,就从servlet context中获取默认的module config(即module prefix为""的module)。
    我们分析ActionServlet的初始化方式,可以发现ActionServlet将初始化好的module config分别保存在servlet context的属性中,其中的属性名为Globals.MODULE_KEY+prefix,但request对象的当前module config是怎么来的呢。它是ActionServlet在获取到一个请求后,根据请求的url与保存在servlet context里的module prefix进行匹配,如果匹配成功,则将属性名为Globals.MODULE_KEY+"匹配成功的prefix"的module config作为当前的module config返回,该过程出现在ActionServlet的process方法中,在select module的时候,将根据以上规则,选择当前的module config,并保存在request的属性Globals.MODULE_KEY。并将实例转给RequestProcessor对象。
    我们从上面的分析中可以看出,包含form tag的jsp页面,如果要正确的将自已关联到一个module中,则需要事先将当前module config对象放在request请求中,但存放module config到request请求的动作是在ActionServlet中完成的。因此,页面只有在经过了对一个Acton进行处理后(在处理action的过程中,会根据action的url来匹配当前的module,并将其保存在request中),并通过redirect=false的方式下重定向到一个jsp页面,才能使该jsp页面正确的关联到module中,否则都将关联到默认的module config中,如直接在地址栏中键入jsp的url这种情况下,所有的jsp文件都关联到默认的module config中。

Struts旅程(三)Struts表单处理器ActionForm(静态动态)

上篇我们以登录为例讲解了struts配置,实现了使用struts框架进行登录的示例。一些名词已经在脑海中飘荡了。 ActionServlet:struts的控制器,负责截取URL或分发。提供Model...
  • lovesummerforever
  • lovesummerforever
  • 2014年02月10日 08:00
  • 11790

笔试题目记录

#include"stdio.h" int i =0; int fun(int n) { static int a = 2; //第一次执行到这里时a为2,第二次执行到这里时a为3 a++; ...
  • umgsai
  • umgsai
  • 2016年02月04日 11:05
  • 197

关于html中表单<form>标记的介绍

表单在Web网页中用以让访问者输入数据,当提交表单时,表单中输入的数据被打包传递给Web服务器端的程序以处理,从而使得Web服务器与用户之间具有交互功能。 首先我们来说说关于表单的工作机制,浏览...
  • Candyys
  • Candyys
  • 2017年03月09日 23:42
  • 516

用Struts2框架将jsp的form表单数据提交到action处理

以下是图书管理系统,只有部分代码,主要实现从JSP传数据到action,分页显示没列出,详细在附件 1.add.jsp页面内容 ...
  • wdb_tank
  • wdb_tank
  • 2015年11月15日 10:45
  • 3397

Struts2之ajax提交表单(借助jquery插件)

1 index.jsp pageEncoding="UTF-8"%>         $(document).ready( function() {                  ...
  • u012871207
  • u012871207
  • 2015年02月02日 20:39
  • 1249

struts2简单入门及注解的使用

一:简单的helloworld 创建一个maven工程test_struts2. pom文件: junit junit 4.12 test j...
  • yy6090
  • yy6090
  • 2016年10月12日 16:10
  • 634

struts2缓存问题

调试了这么久,总算解决了这个问题,一定得总结一下 问题描述: 在页面上做了一个异步分页,  第一次访问可以获取到所有员工分页列表,当进行部门分页时,获取到的是部门的所有员工,可是当再次去获取所有...
  • zkrui2008
  • zkrui2008
  • 2013年10月22日 18:32
  • 1052

ajax与struts中action的交互实现方法

前提,导入json-lib-xxx.jar和struts2-json-plugin-xxx.jar 一、jsp核心代码 js/jquery.js"> $(document).read...
  • lanjie_gunger
  • lanjie_gunger
  • 2016年01月03日 21:49
  • 5434

Struts2中UI标签之表单标签的一个例子

1.最近写了一篇文章,介绍了一下Struts2中UI标签的表单标签,文章地址为:http://blog.csdn.net/u012561176/article/details/44986183 ...
  • u012561176
  • u012561176
  • 2015年04月16日 17:51
  • 3790

Struts2之前台表单传值到后台Action方法总结

在正式讲解之前,先交代一下项目版本,Struts2的版本是struts-2.3.30稳定版本,至于如何快速搭建以及正确的选择Struts2必要的Jar文件,以struts-2.3.30为例,首先建议大...
  • yu102655
  • yu102655
  • 2016年08月08日 17:14
  • 6835
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:struts中使用form标记
举报原因:
原因补充:

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