var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-20738293-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script')"/>
jutleo
欢迎走进有风的地方~~
posts - 63,  comments - 279,  trackbacks - 0
此文主要来自www.blogjava.net/Max的实例

Struts 2.0
支持更高级的POJO访问,先定义一个User.java类。把usernamepassword属性,从Login类中分离出来,它可以使系统结构更清晰,对开发多层系统尤其有用。


User.java
package com.bulktree.struts2;

public class User {
    
private String username;
    
private String password;
    
public String getUsername() {
        System.out.println(
"******getUsername()******");
        
return username;
    }

    
public void setUsername(String username) {
        System.out.println(
"*******setUsername()********");
        
this.username = username;
    }

    
public String getPassword() {
        System.out.println(
"******getPassword()*******");
        
return password;
    }

    
public void setPassword(String password) {
        System.out.println(
"******setPassword()*********");
        
this.password = password;
    }

}

login2.jsp
<s:form action="login2" method="post">
        
<s:textfield name="user.username" label="USERNAME" tooltip="Enter Your UserName"></s:textfield>
        
<s:password name= "user.password" label="PASSWORD" tooltip="Enter Your PassWord"></s:password>
        
<s:submit label="login"></s:submit>
    
</s:form>
struts.xml文件中action配置:
<action name="login2" class="com.bulktree.struts2.LoginAction2">
            
<result name="success">/welcome.jsp</result>
            
<result name="input">/login2.jsp</result>
        
</action>
LoginAction2.java:
package com.bulktree.struts2;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction2 extends ActionSupport {
    
    
private User user;
    
private String message;
    
    
public void setUser(User user) {
        System.out.println(
"********setUser()***********");
        
this.user = user;
    }

    
    
public User getUser() {
        System.out.println(
"*********getUser()*************");
        
return user;
    }


    
public String getMessage() {
        System.out.println(
"************getMessage()********");
        
return message;
    }

    
    @Override
    
public String execute() throws Exception {
        System.out.println(
"*****execute()******");
        
if("bulktree".equals(user.getUsername()) && "oakertree".equals(user.getPassword())) {
            message 
= "Welcome, " + user.getUsername();
        }
 else {
            message 
= "Error!";
        }

        
return ActionSupport.SUCCESS;
        
    }

    @Override
    
public void validate() {
        System.out.println(
"******validate()******");
        
if(null == user.getUsername() || user.getUsername().length() < 5{
            
this.addFieldError("username","USERNAME ERROR");
        }

        
if(null == user.getPassword() || user.getPassword().length() < 5{
            
this.addFieldError("password","PASSWORD ERROR");
        }

    }

    
}

welcome.jsp:
YOUR USERNAME:<FONT size="5" color="red"><s:property value="user.username"/></FONT><br>
    YOUR PASSWORD:
<FONT size="5" color="red"><s:property value="user.password"/></FONT><br>
控制台输出及分析:
*********getUser()*************  //得到User类的实例
********setUser()***********  //执行setUser(),准备赋值操作
******setPassword()*********  //set赋值操作,此时是真正的赋值
*********getUser()*************  //得到User类的实例
*******setUsername()********  //set赋值操作,此时是真正的赋值
以上有struts2框架自动执行
******validate()******  //表单验证
******getUsername()******  //表单验证时调用get方法(判断username)
******getUsername()******  //表单验证时第二次调用get方法(判断username)
******getPassword()******* //表单验证时调用get方法(判断password)
******getPassword()*******  //表单验证时第二次调用get方法(判断password)
*****execute()******  //业务逻辑
******getUsername()******  //调用get方法
******getPassword()*******  //调用get方法
一下由Struts2框架自动执行
*********getUser()************* //得到User类的实例
******getUsername()******  //自动执行get方法
********getUser()*************  //得到User类的实例
******getPassword()*******  //自动执行get方法

我们可以把类的属性分离出来实现系统架构清晰、明了。


posted on 2007-12-29 20:20 凌晨风 阅读(2855) 评论(0)  编辑  收藏 所属分类: Java学习笔记

只有注册用户登录后才能发表评论。


网站导航:
 

<2007年12月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

常用链接

留言簿(11)

我参与的团队

随笔分类

随笔档案

文章分类

文章档案

新闻分类

新闻档案

收藏夹

围脖

最新随笔

搜索

  •  

最新评论

阅读排行榜

评论排行榜