Struts2 <s:textfield>文本示例
精华
小牛编辑
130浏览
2023-03-14
为了比较直观的学习,这里创建一个web工程为:struts2textfield。整个工程的目录结构如下:
在Struts2中,<s:textfield>文本范例, 例如,可以声明“s:textfield”键属性或标签和名称属性。
<s:textfield key="username" /> // 或 <s:textfield label="Username" name="username" />
两者都产生相同的HTML输出(默认的XHTML主题)。类似如下的结果:
<td class="tdLabel"> <label for="registerUser_username" class="label">Username:</label> </td> <td> <input type="text" name="username" value="" id="registerUser_username"/> </td>
在Struts2中,“name”将自动映射到JavaBean属性。 在这种情况下,表格提交时,文本框的值使用“name=’username'”将调用对应动作的setUsername(String xx)来设置值。
Struts2 <s:textfield> 示例
在Struts2中创建一个文本框输入字段示例教程。
1. 属性文件
两个属性文件用来存储信息。
global.properties
#Global messages username = 用户名 submit = 提交
RegisterAction.properties
#error message username.required = 用户名不可以为空
2. Action
使用一个简单的动作类验证以确保用户名不为空,否则返回错误信息。
RegisterAction.java
package com.yiibai.user.action; import com.opensymphony.xwork2.ActionSupport; public class RegisterAction extends ActionSupport{ private String username; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } //business logic public String execute() { return "SUCCESS"; } //simple validation public void validate(){ if("".equals(getUsername())){ addFieldError("username", getText("username.required")); } } }
3. 视图文件
结果页面使用Struts2 “s:textfield”来创建一个HTML文本框输入字段。
register.jsp
<%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> </head> <body> <h1>Struts 2 - textbox 示例</h1> <s:form action="registerUser" namespace="/user"> <s:textfield key="username" /> <s:submit key="submit" name="submit" /> </s:form> </body> </html>
welcome.jsp
<%@ page contentType="text/html;charset=UTF-8" %> <%@ taglib prefix="s" uri="/struts-tags" %> <html> <body> <h1>Struts 2 - textbox 示例</h1> <h2><s:property value="username"/></h2> or <h2><s:property value="%{username}"/></h2> </body> </html>
4. struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.custom.i18n.resources" value="global" /> <constant name="struts.devMode" value="true" /> <package name="user" namespace="/user" extends="struts-default"> <action name="register"> <result>/pages/register.jsp</result> </action> <action name="registerUser" class="com.yiibai.user.action.RegisterAction"> <result name="SUCCESS">/pages/welcome.jsp</result> <result name="input">/pages/register.jsp</result> </action> </package> </struts>
5. 示例显示
http://localhost:8080/struts2textfield/user/register.action
参考
- Struts2文本文档