在本文中我讲述了如何使用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[size=18][/size]
分享到:
相关推荐
常见的STRUTS标签有`<s:form>`、`<s:textfield>`、`<s:textarea>`、`<s:submit>`等。 在VS2005中进行HTML到STRUTS标签的转换,主要是为了适应STRUTS框架的工作流程,提高代码的可读性和维护性。这个转换工具可能...
在Struts中,表单(Form)是用户交互的核心,而Struts提供了丰富的标签库来帮助开发者更方便地创建和处理表单。下面将详细解释Struts中与Form相关的标签及其用法。 1. `<html:form>`标签:这是Struts最基础的表单...
总结起来,这个Struts2实例项目通过整合国际化、类型转换和Struts2标签,构建了一个完整的用户管理系统,展示了如何在实际开发中高效地处理Web请求,实现业务逻辑,并提供多语言支持。这样的练习有助于提升开发者对...
它们通常被定义在struts-config.xml配置文件中,然后在JSP页面中通过.struts-bean:form标签实例化。 1. **基本Form Bean**: 这是最简单的形式,通常用于处理单个表单或简单的数据输入。在struts-config.xml中定义一...
在Struts2框架中,Form标签是用于处理用户输入和表单数据的核心组件之一。这个官方示例10专注于讲解如何在Struts2中使用Form标签。 Form标签主要用于创建HTML表单,并与Action类中的属性进行绑定。这使得在前端和...
使用HTML:FORM标签** 在JSP页面中,我们可以使用Struts的`html:form`标签来创建表单,它会自动绑定到之前声明的Form Bean: ```jsp <html:form action="testAction" method="POST"> 请输入内容: 提交" /> ...
Struts2框架中的标签库是基于JSP标准标签库(JSTL)的扩展,它提供了一系列与动作、结果、表单和国际化相关的标签。这些标签能够帮助开发者在页面上轻松地展现数据、处理表单提交、实现动态内容生成等。 2. **主要...
同时提供了依据 cookies、headers 和 parameters 的值创建相关 bean 的能力。 * bean:cookie:取回请求中名称为 name 的 cookie 的值。如果没有指定 multiple 属性则依据刚取回的值创建一个 Cookie 类型的 bean。...
在`teststruts2`项目中,我们可能会有一个名为`CustomTagExampleAction`的Action类,它处理与自定义标签相关的业务逻辑。然后,在结果页面(比如`result.jsp`)中,我们可以这样使用自定义标签: ```jsp ...
在Struts2框架中,标签库是其一大特色,它提供了丰富的自定义标签,使得开发者能够更加便捷地创建动态页面。这些标签极大地简化了JSP页面的编写,提高了代码的可读性和可维护性。 1. **Struts2核心标签库**: - `s...
Struts2是一个强大的MVC框架,它提供了丰富的标签库,使得开发者在编写JSP页面时能够更加方便地处理业务逻辑和展示数据。本篇文章主要关注Struts2中的常用标签,这些标签大大简化了Web开发中的一些常见任务。 首先...
关于STRUTS标签的一些详细说明。 如:<html:form>的说明。
Struts 是一款用于构建企业级Web应用的开源框架,其标签库提供了一系列便于开发人员使用的自定义标签,这些标签可以帮助开发者更高效地创建动态网页,特别是在与Struts框架集成时更为显著。Struts标签库包括表单标签...
Struts1.2标签是Java Web开发中Struts框架的一部分,它提供了一种在JSP页面中更加便捷、可维护的方式来处理业务逻辑和控制流程。Struts1.2标签库大大简化了视图层的开发,使开发者可以避免过多地在JSP中编写Java脚本...
Struts是一个开源的Java Web应用程序框架,由Apache软件基金会维护,用于帮助开发者...以上就是关于Struts框架的整体构架和核心标签库的介绍,通过学习和掌握这些知识点,开发者可以更高效地构建和管理Java Web应用。
3. **Struts2标签库**:Struts2提供了一套丰富的标签库,如`s:text`、`s:property`、`s:form`等,这些标签极大地简化了视图层的开发,提高了代码的可读性和可维护性。例如,`s:form`标签可以创建表单,自动处理验证...
表单标签库是Struts2的一大特色,它包括`<s:form>`,`<s:textarea>`,`<s:radio>`,`<s:checkbox>`等,这些标签提供了强大的表单处理功能,如自动验证、错误显示和动态表单生成。 **6. 使用Struts标签库的优势** -...
jakarta-struts-1.2.4是Struts的一个旧版本,其中包含了Struts的核心库、标签库和其他相关组件。开发者可以通过这个版本的文档和API来学习和使用Struts标签库。 6. **优势与注意事项** 使用Struts标签库能提高...
Struts2提供了`<s:file>`标签用于文件上传,`<s:date>`和`<s:datetime>`标签用于日期和时间的选择。 综上所述,Struts2的表单标签提供了一套完整的解决方案,覆盖了从简单的输入元素到复杂的表单交互。通过熟练掌握...
Struts提供了丰富的标签库,使得在JSP页面中处理业务逻辑变得更加简洁。例如,`<s:property>`标签用于显示Action对象的属性值,`<s:form>`用于创建HTML表单,`<s:iterator>`遍历集合并渲染,`<s:if>`和`s:else`进行...