struts2 的3种驱动 第三种方式 模型驱动

第三种是:将对象写在action中 action实现一个ModelDriven<User> :
在action中  我只写了一个user 对象 : 

    action 中的内容:




package com.luhua.test;

import com.luhua.pojo.User;
import com.opensymphony.xwork2.ModelDriven;


public class UserAction implements ModelDriven<User>{

//用户
private User user = new User();

public String user(){
System.out.println(user.getUsername());
return "success" ;

}


public String execute(){

return "success" ;

}



public User getModel() {
return user;
}

}




user类中:只有一个username的属性,并提供了get和set方法


package com.luhua.pojo;

import java.io.Serializable;

public class User implements Serializable {

private static final long serialVersionUID = 1L;

public User(){}

private String username ;

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}


}







在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>

<constant name="struts.devMode" value="true" />
     <package name="default" namespace="/"  extends="struts-default">
        <action name="welcome" class="com.luhua.test.UserAction" method="execute">
            <result name="success">index.jsp</result>
        </action>
        <action name="user" class="com.luhua.test.UserAction" method="user">
            <result name="success">success.jsp</result>
        </action>
    </package>

</struts>

jsp页面有两张,index.jsp   和  success.jsp   从index.jsp中输入用户名; 在action中打印出来

页面的输入的name必须是属性名,不能用对象名.属性名
 
index.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

  </head>
 
  <body>
     <form action="user" method="post">
     username:<input type="text" name="username"/>    
     <input type="submit"/>
     </form>
  </body>
</html>

success.jsp


<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
 
  </head>
 
  <body>
   user
  </body>
</html>





你可能感兴趣的:(java,apache,xml,jsp,struts)