论坛首页 Java企业应用论坛

关于Struts2自动填充表单元素的问题

浏览 5417 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-06-16  
各位,小弟正在学习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属性里,请各位大侠指导,谢谢!
   发表时间:2007-07-11  
一个是user.loginName,还有一个是user.username,不知道到底哪一个是User对象的字段?
0 请登录后投票
   发表时间:2007-07-11  
因为你没有配置拦截器
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics