关于Struts2自动填充表单元素的有关问题
关于Struts2自动填充表单元素的问题
各位,小弟正在学习Struts2,写了一个登陆的例子,其代码分别如下:
Struts.xml
admin_struts.xml
定义了一个用户对象User:
内有用户属性:
loginName,并申明了get、set方法。
实现UserAction 如下:
login.jsp代码:
(因为表格内容太多,就不全拷贝上来了)
jsp头定义:
<%@page language="java" pageEncoding="GBK"
contentType="text/html; charset=GBK"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
表单元素:
<s:textfield name="user.loginName" value="%{user.username}" cssStyle="width:150;height:20" />
提交后其它一切正常,就是无法实现在页面上表单名用:
<s:textfield name="user.loginName" value="%{user.username}" cssStyle="width:150;height:20" />
而不能将loginName属性自动填充到User对象的loginName属性里,请各位大侠指导,谢谢!
各位,小弟正在学习Struts2,写了一个登陆的例子,其代码分别如下:
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> <include file="struts-default.xml"/> <constant name="struts.action.extension" value="action" /> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <constant name="struts.devMode" value="true" /> <constant name="struts.i18n.encoding" value="GBK" /> <constant name="struts.ui.theme" value="simple"/> <constant name="struts.ui.templateDir" value="template"/> <constant name="struts.ui.templateSuffix" value="ftl"/> <include file="admin_struts.xml"/> </struts>
admin_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="admin" extends="struts-default" namespace="/admin"> <!--default-interceptor-ref name="validation"/--> <!-- 用户管理Action --> <action name="login" class="com.toxy.admin.web.UserAction" method="login"> <result name="login">/admin/admin_index.html</result> <result name="error">/admin/login.jsp</result> </action> <action name="logout" class="com.toxy.admin.web.UserAction" method="logout"> <result name="success">login.jsp</result> </action> <action name="queryUser" class="com.toxy.admin.web.UserAction" method="queryUser"> <result>login.jsp</result> </action> </package> </struts>
定义了一个用户对象User:
内有用户属性:
loginName,并申明了get、set方法。
实现UserAction 如下:
public class UserAction extends BaseAction { private static Logger logger = Logger.getLogger(UserAction.class); private User user = new User(); /** * 用户登陆 * @return */ public String login() { [color=red][size=24] //这里打印出来的是空,不知道为什么???? logger.info("username = "+user.getLoginName);[/size][/color] return LOGIN; } /** * @return the user */ public User getUser() { return user; } /** * @param user the user to set */ public void setUser(User user) { this.user = user; } }
login.jsp代码:
(因为表格内容太多,就不全拷贝上来了)
jsp头定义:
<%@page language="java" pageEncoding="GBK"
contentType="text/html; charset=GBK"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
表单元素:
<s:textfield name="user.loginName" value="%{user.username}" cssStyle="width:150;height:20" />
提交后其它一切正常,就是无法实现在页面上表单名用:
<s:textfield name="user.loginName" value="%{user.username}" cssStyle="width:150;height:20" />
而不能将loginName属性自动填充到User对象的loginName属性里,请各位大侠指导,谢谢!
1 楼
toxy
2007-06-17
怎么没人回答呢?着急,ing.....
2 楼
flxi78
2007-07-11
一个是user.loginName,还有一个是user.username,不知道到底哪一个是User对象的字段?
3 楼
tornyz
2007-07-11
因为你没有配置拦截器