day29Struts 类型转换和自定义类型转换,input视图
生活随笔
收集整理的這篇文章主要介紹了
day29Struts 类型转换和自定义类型转换,input视图
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd">
<struts><package name="type" namespace="/type" extends="struts-default"><!-- 返回視圖 --><action name="type" class="star.july.b_type.TypeAction" method="type"><result name="success">/index.jsp</result><!-- 定義錯誤視圖 --><result name="input">/add.jsp</result></action></package></struts>
student.birth=gz.itcast.b_type.MyDateConverter
全局引用:對整個網(wǎng)站的所有Action起作用
在項目的src下面,建立一個文件:
? xwork-conversion.properties
創(chuàng)建實體類:
package star.july.b_type;import java.util.Date;public class Student {//不同的類型,輸出時會相應的類型private String name;private int age;private double grade;private Date birth;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public double getGrade() {return grade;}public void setGrade(double grade) {this.grade = grade;}public Date getBirth() {return birth;}public void setBirth(Date birth) {this.birth = birth;}@Overridepublic String toString() {return "Student [name=" + name + ", age=" + age + ", grade=" + grade+ ", birth=" + birth + "]";}}自定義類型轉(zhuǎn)換器:package star.july.b_type;import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map;import org.apache.struts2.util.StrutsTypeConverter;//自定義類型轉(zhuǎn)換器 public class MyDateConverter extends StrutsTypeConverter{SimpleDateFormat sdf = new SimpleDateFormat("yyyy/mm/dd");//頁面(String)->Action(自己的類型)//values:頁面?zhèn)魅氲淖址?/toClass:當前javabean屬性類型,java.util.Date@Overridepublic Object convertFromString(Map context, String[] values, Class toClass) {//轉(zhuǎn)換日期類型//將1994/11/02 轉(zhuǎn)為符合的格式try {//如果是Date類型才需要轉(zhuǎn)換if(toClass==java.util.Date.class){String str = values[0];//轉(zhuǎn)換成Date類型Date date = sdf.parse(str);return date;}return null;} catch (ParseException e) {e.printStackTrace();throw new RuntimeException(e);}}//Action->轉(zhuǎn)換為String@Overridepublic String convertToString(Map arg0, Object arg1) {// TODO Auto-generated method stubreturn null;}}
TypeAction:
package star.july.b_type;import com.opensymphony.xwork2.ActionSupport;public class TypeAction extends ActionSupport{//創(chuàng)建一個對象Student student;public Student getStudent() {return student;}public void setStudent(Student student) {this.student = student;}public String type(){//攔截器自動轉(zhuǎn)換類型//類型與Student.java實體類中的類型相呼應//輸出結(jié)果:Student [name=趙甲第, age=22, grade=150.0, birth=Wed Dec 07 00:00:00 CST 1994]System.out.println(student);return SUCCESS;} }
定義TypeAction-conversion.properties文件 文件名是由:相關聯(lián)的類型的類名+“-conversion.properties”
student.birth=gz.itcast.b_type.MyDateConverter
jsp頁面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><title>類型轉(zhuǎn)換</title>1. <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><!-- 返回input視圖傳來的錯誤信息 --><s:fielderror></s:fielderror><body><form action="<c:url value='/type/type'/>" method="post">姓名:<input type="text" name="student.name"/><br>年齡:<input type="text" name="student.age"/><br>成績:<input type="text" name="student.grade"/><br>日期:<input type="text" name="student.birth"/><br><input type="submit" value="提交"/></form></body> </html>
局部引用: 對某個Action起作用 在Action類的同目錄下,建立一個文件:叫 Action類名-conversion.properties(TypeAction-cnversion.properties)
| student.birth=star.july.b_type.MyDateConverter |
| java.util.Date= star.july.b_type.MyDateConverter |
總結(jié)
以上是生活随笔為你收集整理的day29Struts 类型转换和自定义类型转换,input视图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Struts的Map
- 下一篇: Struts文件上传包含修改文件上传参数