`
toxy
  • 浏览: 71978 次
  • 性别: Icon_minigender_1
  • 来自: 云南.昆明
社区版块
存档分类
最新评论

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

阅读更多
各位,小弟正在学习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属性里,请各位大侠指导,谢谢!
分享到:
评论
3 楼 tornyz 2007-07-11  
因为你没有配置拦截器
2 楼 flxi78 2007-07-11  
一个是user.loginName,还有一个是user.username,不知道到底哪一个是User对象的字段?
1 楼 toxy 2007-06-17  
怎么没人回答呢?着急,ing.....

相关推荐

    Struts2框架ActionForm自动填充表单

    不过,这里提到的"ActionForm自动填充表单"可能是指Struts2中的一种特性,即模型驱动(ModelDriven)或拦截器(Interceptor)如何帮助自动处理表单数据。 在Struts2中,你可以使用`ModelDriven`接口来实现表单数据...

    关于struts表单验证

    当用户提交表单时,Struts会自动将表单数据填充到ActionForm Bean的相应属性中,以便在控制层进行处理。 表单验证主要通过覆盖ActionForm的`validate()`方法来实现。这个方法会在用户提交表单后,Action类执行之前...

    Struts2表单数据获取项目

    当用户提交表单后,Struts2会调用匹配的Action类的`execute()`方法,此时,`name`和`email`属性已经被填充了表单数据。你可以在这里进行数据验证、业务处理等操作。 至于结果页面,Struts2支持JSP、FreeMarker、...

    struts1.x 和 struts2.x向Action里填充jsp参数原理

    本篇文章将深入探讨Struts1.x和Struts2.x在向Action中填充JSP参数的原理。 Struts1.x的工作原理: Struts1的核心是ActionServlet,它是一个实现了Servlet接口的控制器。当用户发起HTTP请求时,请求会被Dispatcher...

    本人自己开发的Struts框架 可以自动填充属性 及验证跳转

    1. **自动填充属性**:在Struts2中,这一功能通常通过Action类和表单Bean的映射来实现。当用户提交表单时,Struts2框架会自动将请求参数绑定到Action类的属性上,极大地减少了开发者手动获取请求参数的工作量。这...

    Struts2文件上传下载和表单重复提交问题

    最后,处理请求时,框架会自动将上传的文件内容填充到对应的字段中。 2. **文件下载** 在Struts2中,文件下载可以通过重定向或流式下载实现。重定向方式简单,但不适用于大文件。流式下载则更推荐,它允许设置响应...

    Struts2极速表单验证框架(注解)

    4. 如果验证失败,Struts2将填充Action的`fieldErrors`,并根据配置返回错误结果。 5. 验证成功,则执行Action方法。 ### 6. 实战示例 创建一个简单的登录Action,使用注解进行用户名和密码的验证: ```java @...

    struts2中动态填充下拉框的例子

    在Struts2框架中,动态填充下拉框是常见的需求,尤其在开发Web应用时,我们需要根据后台数据库的数据来生成前端页面的选项。这有助于提供动态的、实时更新的用户界面,提高用户体验。本示例将详细介绍如何在Struts2...

    Struts2访问Web元素

    当用户提交表单时,Struts2会自动将表单数据填充到对应的Action属性中,无需手动获取HTTP请求参数。 此外,Struts2还提供了丰富的插件系统,如Tiles插件,可以方便地进行页面布局。同时,Struts2与Spring框架的集成...

    15年9月传智播客视频struts2

    - **Struts2提供了一组丰富的表单标签**,如`&lt;s:textfield&gt;`、`&lt;s:password&gt;`、`&lt;s:submit&gt;`等,这些标签可以自动绑定模型属性、验证数据、生成错误消息等。 #### 6. Struts2的文件上传与下载 - **文件上传**:...

    原创struts2讲义2.pdf

    在表单处理方面,Struts2支持多种高级技巧,如自动填充表单字段、动态生成表单元素等。 ##### 4.4 Struts2的扩展与定制 为了满足不同的开发需求,Struts2允许开发者对其进行扩展和定制。这包括自定义拦截器、结果...

    实战struts2用户登录

    在Action类中,Struts2会自动将表单的值填充到这些属性中。 5. **验证逻辑**:在`login()`方法内,你需要验证用户输入的用户名和密码是否有效。Struts2提供了内置的验证机制,可以通过注解或者XML配置文件进行校验...

    struts2 表单数据绑定map、list等.rar

    总之,“struts2 表单数据绑定map、list等.rar”涵盖了Struts2框架中关于表单数据绑定的核心概念,包括基本类型、复杂对象、集合类型以及相关的自定义扩展。掌握这些知识,将使你在使用Struts2开发Web应用时更加...

    Struts2入门demo

    - Struts2支持依赖注入(DI),允许你在Action类中声明字段,Struts2会自动根据配置填充这些字段的值,简化了对象的创建和管理。 8. **国际化**: - Struts2支持多语言环境,你可以创建资源文件(如`messages....

    struts2标签使用方法

    - 在处理表单提交时,利用Struts2的表单标签,框架会自动处理数据验证和类型转换。 6. **注意事项**: - 确保在web.xml中配置了Struts2的核心过滤器`&lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter....

    关于struts2里用javascript刷新window.showModalDialog的父页面

    Struts2提供了一套完整的解决方案来处理用户请求,包括表单填充、验证以及业务逻辑调用等。同时,Struts2还提供了强大的拦截器机制,可以轻松地实现诸如文件上传/下载、国际化等功能。 #### JavaScript与Struts2的...

    struts2查询修改删除

    JSP页面可以包含一个搜索表单,用户输入条件,提交后Struts2会处理请求并展示查询结果。 6. **Struts2 CRUD架构**:在Struts2中,CRUD操作通常涉及到以下组件: - **Action**:处理HTTP请求,执行业务逻辑。 - **...

    struts2自学文档

    - **属性注入**:Struts2支持通过请求参数自动填充Action中的属性。 - **请求后缀**:可以通过配置指定Struts2处理的请求后缀,如.action。 - **Struts2常量**:可以通过配置文件设置各种常量,例如指定默认编码等。...

    Struts2和Struts1的什么区别

    - `ActionForm`通过`populate`方法自动填充表单数据,但其灵活性有限。 #### Struts2: - Struts2允许直接使用POJO作为模型数据,无需特定的`ActionForm`。 - 提供了`ModelDriven`接口,允许为每个Action配置不同的...

Global site tag (gtag.js) - Google Analytics