`
cui09
  • 浏览: 113921 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
最近访客 更多访客>>
社区版块
存档分类
最新评论

Struts提供的form相关的标签(转)

阅读更多

 

在本文中我讲述了如何使用Struts提供的form相关的标签。

与form相关的标签包括<form>标签本身以及所有必须包含在其中的标签。比如,<text>和<password>标签就是和form相关的标签,因为如果不把它们放到一个form中它们就没有意义。

<form>标签
<form>标签用于生成一个HTML form。使用该标签时必须遵循许多规则。

首先,<form>标签中必须包含一个action属性,它是这个标签中唯一必需的属性。如果不具备该属性则JSP页面会抛出一个异常。之后你必须给这个action属性指定一个有效值。一个有效值是指应用程序的Struts配置文件中<action-mappings>元素里的任何一个<action>子元素的访问路径。而且相应的<action>元素中必须有一个name属性,它的值是form bean的名称。

例如,如果你有这样一个<form>标签: <html:form action="/login" >

那么你的Struts配置文件的<action-mappings>元素中必须有一个如下显示为粗体的<action>元素:
<action-mappings>
<action path="/login"
type="com.javapro.struts.LoginAction"
name="loginForm"
scope="request"
input="/login.jsp">
<forward name="success" path="/mainMenu.jsp"/>
</action>
.
.
.
</action-mappings>
这就是说一个form标签是和form bean相关联的。

另一个要遵循的规则是:任何包含在<form>中用来接收用户输入的标签(<text>、<password>、<hidden>、<textarea>、<radio>、<checkbox>、<select>)必须在相关的form bean中有一个指定的属性值。比如,如果你有一个属性值被指定为“username”的<text>标签,那么相关的form bean中也必须有一个名为“username”的属性。输入<text>标签中的值会被用于生成form bean的userName属性。

除了上面所讲的属性之外,<form>标签还有一些不是必须但加上更好的“次要”的属性。比如,你可以用focus属性来生成JavaScript,它会“定焦”(focus)到该form所包含的一个元素上。使用focus属性时你需要给它指定元素的名称。比如,以下代码是定焦在第二个Text元素上的: <body>
<html:form action="/login" focus="password">
User Name: <html:text property="userName"/>
<br>Password: <html:text property="password"/>
<br><html:submit/>
</html:form>
</body>
该段代码会被转换成:
<body>
<form name="loginForm" method="post"
action="/myStrutsApp6/login.do">
User Name: <input type="text" name="userName"
value="">
<br>Password: <input type="text"
name="password" value="">
<br><input type="submit"
value="Submit">
</form>
<script language="JavaScript"
type="text/javascript">
<!--
if (document.forms["loginForm"].elements[
"password"].type != "hidden")
document.forms["loginForm"].elements[
"password"].focus()
// -->
</script>

</body>
注意,<form>标签中method属性的缺省值是POST。另外,有没有看到这个标签库是如何建立JavaScript来定焦到password元素上的? 这也是该库让人着迷的地方之一。你不用担心如何在客户端进行编程,它会帮你自动生成。

在运行前面的例子时还要注意,你必须有一个包含userName和password属性的相关form。你可以参考本文第三部分中的Login程序。

<text>标签
<text>标签用于生成一个文本的输入区域。它必须包含和相关form bean中的相同属性对应的“property”属性。该标签只有在嵌入到一个<form>标签中时才有效。
例如: <html:text property="userName"/>
会被转换成: <input type="text" name="userName" value="">

<password>标签
<password>标签用于生成一个口令字(type password)的输入区域。它必须包含和相关form bean中的相同属性对应的“property”属性。该标签只有在嵌入到一个<form>标签中时才有效。该标签中的一个很重要的属性是“redisplay”,它用于重新显示以前输入到这个区域中的值。该属性的缺省值为true。然而,为了使password不能被重新显示,你或许希望将该属性的值设为false。
例如: <html:password property="password" redisplay="false"/>
会被转换成: <input type="password" name="password" value="">

<hidden>标签
<hidden>标签用于生成一个隐藏文本的输入区域。它必须包含和相关form bean中的相同属性对应的“property”属性。该标签只有在嵌入到一个<form>标签中时才有效:
例如: <html:hidden property="userName"/>
会被转换成: <input type="hidden" name="userName" value="">

<textarea>标签
<textarea>标签用于生成一个文本区元素(text area element)。它必须包含和相关form bean中的相同属性对应的“property”属性。

比如:
<html:textarea property="details" cols="80" rows="20" value="Enter details here"/>
会被转换成:
<textarea name="details" cols="80" rows="20">Enter details here

分享到:
评论

相关推荐

    Struts提供的和Form相关的标签 .rar

    Struts提供的和Form相关的标签 .rar

    struts2官方例子10--Struts2的Form标签

    struts2官方例子10--Struts2的Form标签

    struts1-html标签

    &lt;html:form&gt; &lt;html:form&gt;用来创建表单,&lt;html:form&gt;必须包含一个action属性,否则JSP会抛出一个异常.

    struts标签(如<html:form>)

    关于STRUTS标签的一些详细说明。 如:&lt;html:form&gt;的说明。

    struts2 标签库使用文档

    Struts2标签库的组成 Struts2框架的标签库可以分为以下三类: 用户界面标签(UI标签):主要用来生成HTML元素的标签。 表单标签:主要用于生成HTML页面的FORM元素,以及普通表单元素的标签。 非表单标签:主要用于生成...

    struts2的s标签

    struts2的s标签_API_Java_struts_程序开发

    Struts 中 Html 标签库 的用法(第二组标签,与Form相关的标签 ).rar

    Struts 中 Html 标签库 的用法(第二组标签,与Form相关的标签 ).rar

    Struts2标签库

    &lt;%@ taglib uri="/struts-tags" prefix="s" %&gt; 结合例子,重点掌握以下标签的用法 (1) (2) (3) &lt;s:if&gt; 、、 (4) (5) (6) &lt;s:form&gt;、 (7) 、、、 (8) 、、&lt;s:checkboxlist&gt;

    Struts2Ui标签

    form,这个属性 引用表单元素所在的表单,通过该form属性,可以实现表单元素和表单之间的交互。例如,我们可以通过${parameters.form.id}来取得 表单元素所在表单的ID。

    使用Struts提供的HTML标签库

    应用程序目录结构这个Login程序是一个简单的Struts程序,它将显示如何使用HTML标签库,尤其是和form相关的标签和用于错误处理的标签。其目录结构如图1中所示。本文将介绍程序中每个类之间的关系以及它们所起的作用。...

    Struts2属性文件详解

    该属性通常没有太大的用户,只是当Struts 2需要生成URL时(例如Url标签),该属性才提供Web应用的默认端口. struts.url.https.port 该属性类似于struts.url.http.port属性的作用,区别是该属性指定的是Web应用的加密服务...

    struts2 标签换行

    如下代码:&lt;s:form action="login2"&gt; 用户名" name="username"/&gt; 密码" name="password"/&gt; 提交"/&gt;&lt;/s:form&gt;我们看着以上的代码跟HTML的差不了多少,但是因为struts2表单默认将表单内的每一个元素都分在单独的一行

    struts2 标签库 帮助文档

    Struts 2 标签库(文档手册) Tags-API-CLSW-JSP &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. &lt;s:a href=""&gt;&lt;/s:a&gt;-...

    Struts常用标签库详解

    Struts框架中提供一系列的自定义标记,用来在视图层实现数据的表示。本章将重点介绍html tags、bean tags、logic tags的使用。 在写网页程序的时候,通常使用标准的HTML元素。在Struts框架中,定义了Struts HTML...

    Struts 1 学习文档

    View 主要由 JSP 生成页面完成视图,Struts 提供了丰富的 JSP 标签库:Html、Bean、Logic、Template 等。这有利于分开表现逻辑和程序逻辑。 6. Model Model 以一个或多个 Java Bean 的形式存在。这些 Bean 分为三...

    struts标签d 文档.doc

    struts标签里的Html:Cancel标签是在Form中经常运用的一个标签,主要功能就是cancel当前Form,一般写法如下:

    Struts1.x.pdf

    :Struts提供了下面这些组件使用MVC开发应用程序: ·Model:Struts没有提供model类。这个商业逻辑必须由Web应用程序的开发者以JavaBean 或EJB的形式提供;...此外,Struts提供了自定义JSP标签库,辅助开发者用JSP

    Struts html标签的孪生兄弟:htmlx

    此标签不需要定义动态form,但能保持输入的值,特别适用于查询条件。 具体用法查看:http://sjsky.javaeye.com/blog/610729

    struts2 标签 api

    struts2-tags-API.rar Control_Tags Data_Tags Form_Tags FreeMarker_Tags Themes_and_Templates Velocity_Tags ……

Global site tag (gtag.js) - Google Analytics