struts2学习笔记之十一:struts2的类型转换器
生活随笔
收集整理的這篇文章主要介紹了
struts2学习笔记之十一:struts2的类型转换器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Struts2的類型轉換器 如何實現Struts2的類型轉換器? * 繼承StrutsTypeConverter * 覆蓋convertFromString和convertToString 注冊類型轉換器 * 局部類型轉換器,局部類型轉換器只對當前Action起作用,需要提供如下配置文件: MyActionName-conversion.properties,MyActionName指需要使用轉換器的Action名稱 ”-conversion.properties“固定字符串,不能修改。我們AddUserAction類型轉換器的配置 文件名稱為:AddUserAction-conversion.properties,該配置文件必須和Action放到同一個 目錄中,該配置文件的格式為:Action中的屬性名稱=轉換器的完整路徑,如: birthday=com.bjpowernode.struts2.UtilDateConverter * 全局類型轉換器,全局類型轉換器可以是所有的Action起作用(同Struts1的類型轉換器), 需要提供如下配置文件:xwork--conversion.properties,該配置文件需要放到src下,該 配置文件的格式:需要轉換的類型完整路徑=轉換器的完整路徑,如: java.util.Date=com.bjpowernode.struts2.UtilDateConverter 如果全局類型轉換器和局部類型轉換器同時存在,局部優先 Struts2的標簽庫就一個,默認以s開頭 采用標簽讀取屬性,可以調用轉換器的convertToString方法,采用JSTL不會調用 struts2在填充屬性時有內置的類型轉換器,但是不是所有的類型struts2都做了類型轉換 當使用該日期格式時,struts2不能進行自動類型轉換 書寫類型轉換器類 DateConverter.java package com.djoker.struts2;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;import org.apache.struts2.util.StrutsTypeConverter;public class DateConverter extends StrutsTypeConverter{private static final String pattern = "yyyy/MM/dd";@Overridepublic Object convertFromString(Map context, String[] values, Class toClass) {String dateStr = values[0];Date date = null;try {date = new SimpleDateFormat(pattern).parse(dateStr);} catch (ParseException e) {e.printStackTrace();}return date;}@Overridepublic String convertToString(Map context, Object o) {Date date = (Date)o;String dateStr = new SimpleDateFormat("yyyy年MM月dd日").format(date);return dateStr;}}
?
添加類型轉換器的配置文件UserAction-conversion.properties(局部類型轉換器) createDate=com.djoker.struts2.DateConverter Action類UserAction.java package com.djoker.struts2;import java.util.Date;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.Action;public class UserAction {private String username;private String password;private Date createDate;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Date getCreateDate() {return createDate;}public void setCreateDate(Date createDate) {this.createDate = createDate;}public String addUser() throws Exception {ServletActionContext.getRequest().setAttribute("username", username);ServletActionContext.getRequest().setAttribute("password", password);ServletActionContext.getRequest().setAttribute("createDate", createDate);return Action.SUCCESS;} }?
成功頁面success.jsp <%@ page language="java" contentType="text/html; charset=GB18030"pageEncoding="GB18030"%> <%@ taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>Insert title here</title> </head> <body> <h1>登錄成功</h1> ${msg }<br> ${username }<br> ${password }<br> ${createDate }<br> <s:property value="createDate"/> </body> </html>?
最終演示效果
轉載于:https://www.cnblogs.com/djoker/p/6219063.html
總結
以上是生活随笔為你收集整理的struts2学习笔记之十一:struts2的类型转换器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenCV测试摄像头帧率
- 下一篇: 采用Zigbee和Raspberry P