普通方法实现数据回显:
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>
<package name="user" extends="struts-default">
<action name="update" class="com.struts.view.UserAction" method="update">
<!-- 跳转到修改页面 -->
<result name="update">/update.jsp</result>
</action>
</package>
</struts>
UserAction.java:
package com.struts.view;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
// 跳转到修改页面:普通方法实现数据回显
public String update(){
// 模拟一个对象
User userInfo = new User();
userInfo.setUsername("Jack");
userInfo.setPassword("123");
// 将对象存入域中
ActionContext.getContext().getContextMap().put("userInfo", userInfo);
return "update";
}
}
update.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>修改页面</title>
</head>
<body>
<%-- 普通的回显数据:使用 el 表达式获取域对象中的数据 --%>
<form action="#" method="post">
用户名:<input type="text" value="${userInfo.username}"><br>
密码:<input type="text" value="${userInfo.password}"><br>
<input type="submit" value="修改确定">
</form>
</body>
</html>
struts 方式实现数据回显:
struts.xml:和上面的 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>
<package name="user" extends="struts-default">
<action name="update" class="com.struts.view.UserAction" method="update">
<!-- 跳转到修改页面 -->
<result name="update">/update.jsp</result>
</action>
</package>
</struts>
UserAction.java:
package com.struts.view;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.util.ValueStack;
public class UserAction extends ActionSupport {
// 跳转到修改页面:struts 方式实现数据回显
public String update(){
// 模拟一个对象
User userInfo = new User();
userInfo.setUsername("Jack");
userInfo.setPassword("123");
// 将对象存入值栈中
ValueStack valueStack = ActionContext.getContext().getValueStack();
valueStack.push(userInfo); // 压入栈顶
return "update";
}
}
update.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %> <%-- 导入 struts 标签 --%>
<html>
<head>
<title>修改页面</title>
</head>
<body>
<%-- struts 方式实现回显数据:必须使用 struts 标签 --%>
<s:form action="#" method="post" theme="simple">
<%-- <s:textfield> 标签会自动查找值栈中的根元素 --%>
用户名:<s:textfield name="username"/><br>
密码:<s:textfield name="password"/><br>
<s:submit value="修改确定"/>
</s:form>
<%-- 显示值栈信息 --%>
<s:debug/>
</body>
</html>
结果: