struts2的屬性驅動
屬性驅動:將表單的提交資料與java基本型別資料相對應
類似springmvc的表單繫結,可以與javabean 的屬性對應如
實體類:
package com.chet.domain;
public class Product {
String productID;
String productName;
String productPrice;
public String getProductID() {
return productID;
}
public void setProductID(String productID) {
this .productID = productID;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getProductPrice() {
return productPrice;
}
public void setProductPrice (String productPrice) {
this.productPrice = productPrice;
}
public String toString()
{
return this.getProductID()+this.getProductName()+this.getProductPrice();
}
}
action類:這裡定義了一個product實體 在請求提交到這個Action的時候會通過setter例項這個實體。所以必須有setter 與getter方法、
package com.chet.action;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.struts2.ServletActionContext;
import com.chet.domain.Product;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class TestAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private Product product;
private static Logger logger = LogManager.getLogger(TestAction.class.getName());
@Override
public String execute() throws Exception {
System.out.println("test -------------------");
logger.info("無奈發生的");
return SUCCESS;
}
public String ognlTest()
{
System.out.println(" test start-------------------");
ActionContext ctx = ActionContext.getContext();
ctx.getApplication().put("testFirst", "我是applicatio");
ctx.getSession().put("test", "我是session");
HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("test", "我是request");
return SUCCESS;
}
public Product getProduct() {
return product;
}
public void setProduct(Product product) {
this.product = product;
}
}
jsp頁面
<p>test OGNL</p>
<s:property value="#request.test"/>
<s:property value="#session.test"/>
<s:property value="#application.test"/>
<s:property value="product.productName"/>
<s:property value="product.productID"/>
<s:property value="product.productPrice"/>
如果通過form表單提交則
<input type="text" name="product.productID" value=""/>
<input type="text" name="product.productName" value=""/>
如果使用上面的程式碼,請注意struts的配置檔案,這裡主要是通過萬用字元來訪問到Action裡面的方法 ,具體請參考我的文章 —struts2萬用字元
相關推薦
struts2屬性驅動模型
bsp 表單提交 man let 用戶 啟動服務 equal tex 屬性 屬性驅動模型的作用: 因為struts2與servlet API 實現了解耦,無法直接使用HttpServlet Request對象獲取表單提交的參數,但Struts2提供了屬性驅動模型機制來解決這
struts2 屬性驅動模型 獲取表達資料
login.jsp <%-- Created by IntelliJ IDEA. User: WenSe Date: 2018/10/25 Time: 13:49 To change this template use File | Setting
Struts2-屬性驅動與模型驅動
Struts2 - 屬性驅動與模型驅動 一、為什麼要使用屬性驅動和模型驅動? :struts2與struts很大的不同點在於,struts的execute方法提供了HttpServletRequest和 HttpServletResp
Struts2屬性驅動和模型驅動詳解
屬性驅動,就是在Action中定義的是和表單中對應的一個個屬性,每個屬性都有對應的get/set方法。當表單提 交到Action後,Struts2將會自動將根據表單的name屬性呼叫Acti
Struts2 屬性驅動
屬性驅動 1. jsp頁面 <form action="register.action" method="post"> 使用者名稱:<input type="text"
Struts2屬性驅動封裝(了),需要使用ognl表示式
建立一個Person類 public class Person {private String name;public String getName() {return name;}public void setName(String name) {this.name =
Struts2屬性驅動與模型驅動
1屬性驅動是指用Action的屬性來封裝來回請求的引數. 2.模型驅動 模型驅動是指使用JavaBean來封裝來回請求的引數.(個人理解) 建議使用模型驅動,因為相比struts 1的Action類,struts 2的Action類承擔了太多的責任:既用於封裝來回請
Struts2實現ModelDriven進行屬性驅動
nbsp class pub model 提交 必須 屬性 post for 1. 實現ModelDriven的作用 ModelDriven,屬性驅動十分有用,form表單提交的的name,和類中的set方法名稱想對應,就可以實現自動註入。 2. Struts2實現Mo
第05講 struts2設定資料-屬性驅動-Javabean
1,在 HeadFirstStruts2chapter02 中,新建類UserAction2 package com.cruise.action; import com.cruise.model.User; import com.cruise.service.UserService; import
第04講 struts2設定資料-屬性驅動-基本資料型別
1,在 HeadFirstStruts2chapter02 中,新建包com.cruise.model包,新建bean:User,屬性分別為:userName,password,package com.cruise.model;public class User { &
struts2[2.3]引數獲得方式-(1)屬性驅動獲得引數
1.學習路線 今天咱們來學struts2引數獲得方式,let`go!
struts2的屬性驅動和模型驅動
.Struts2的屬性驅動. Struts2的屬性驅動指的是在action中JSP頁面的每一個form中的name都對應在action中有一個屬性與之對應。 Struts2的模型驅動 Struts2的模型驅動其實和Struts1.x中的ActionForm有點類似,
struts2引數獲得方式-(1)屬性驅動獲得引數
1.學習路線 今天咱們來學struts2引數獲得方式,let`go! 圖1.學習路線
struts2 接受引數的兩種方式(屬性驅動和模型驅動)
定義: 在struts2中,頁面的資料和action(控制層)傳輸基本上有兩種方式,一個是屬性驅動、另一個是模型驅動。 屬性驅動 基本資料型別的屬性對應: 就是Web頁面上html標籤
淺談Struts2的屬性驅動和模型驅動
一直在用Struts2實現MVC,因為相比於Struts1中大量使用request.getparameter在頁面上獲取值,struts2則提供了屬性驅動和模型驅動處理了這一問題。通過這兩個驅動,我們
struts2的屬性驅動
屬性驅動:將表單的提交資料與java基本型別資料相對應 類似springmvc的表單繫結,可以與javabean 的屬性對應如 實體類: package com.chet.domain; public class Product { Strin
struts2域物件屬性驅動方式傳值
【例】使用者登入第一步:建立user域物件package com.dwx.bean; public class User { private String username; private Str
struts2模型驅動屬性名要和頁面一致
JSP程式碼<input type="text" name="shopId">javabean程式碼 private Integer shopID; 結果使用模型驅動時報錯 Unexpected Exception caught setting 'shopId'
Struts2的屬性驅動原理和模型驅動原理
屬性驅動:(靠的是ParameterInterceptor攔截器,setValue方法操作值桟屬性) * 在action中設定屬性,屬性的名稱和頁面上表單中的name屬性的名稱保持一致 * 在ac
Struts2淺析 之 模型驅動與屬性驅動
1.Struts2的屬性驅動. Struts2的屬性驅動指的是在action中JSP頁面的每一個form中的name都對應在action中有一個屬性與之對應。看下面程式碼片段: <form action="register.do" name="RegisterFo