乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Struts2自定義類(lèi)型轉(zhuǎn)換器配置

       鷹皇軟件 2014-01-15

      類(lèi)型轉(zhuǎn)換分兩類(lèi)

      1 局部類(lèi)型轉(zhuǎn)換
      1.1 普通Action中的類(lèi)型轉(zhuǎn)換
      配置文件存放目錄:Action同級(jí)目錄;
      配置文件名:Action名-conversion.properties文件
      轉(zhuǎn)換器:自定義轉(zhuǎn)換器實(shí)現(xiàn)TypeConverter接口,可以直接繼承StrutsTypeConverter來(lái)實(shí)現(xiàn);
      內(nèi)容:Action屬性名=轉(zhuǎn)換器包路徑

       

      1.2 基于模型驅(qū)動(dòng)的類(lèi)型轉(zhuǎn)換
      配置文件存放目錄:模型同級(jí)目錄;
      配置文件名:模型名-conversion.properties文件
      轉(zhuǎn)換器:自定義轉(zhuǎn)換器實(shí)現(xiàn)TypeConverter接口,可以直接繼承StrutsTypeConverter來(lái)實(shí)現(xiàn);
      內(nèi)容:模型屬性名=轉(zhuǎn)換器包路徑

       

      2 全局類(lèi)型轉(zhuǎn)換
      配置文件存放目錄:項(xiàng)目根目錄;
      配置文件名:work-conversion.properties文件
      轉(zhuǎn)換器:自定義轉(zhuǎn)換器實(shí)現(xiàn)TypeConverter接口,可以直接繼承StrutsTypeConverter來(lái)實(shí)現(xiàn);
      內(nèi)容:要轉(zhuǎn)換的類(lèi)型包路徑=轉(zhuǎn)換器包路徑

      注意:若在模型驅(qū)動(dòng)情況下,即配置了Action的類(lèi)型轉(zhuǎn)換器又配置了對(duì)應(yīng)模型的轉(zhuǎn)換器,此時(shí)只會(huì)選擇模型轉(zhuǎn)換器;

       

      3 示例

      3.1 模型驅(qū)動(dòng)情況示例

      [TestAction.java]

      package com.struts2.demo;

      import com.opensymphony.xwork2.ActionSupport;
      import com.opensymphony.xwork2.ModelDriven;
      import com.struts2.demo.bean.TestBean;

      public class TestAction extends ActionSupport implements ModelDriven{
       
       private static final long serialVersionUID = -3557249908855957132L;
       
       private TestBean bean = new TestBean();
       
       public TestBean getBean() {
        return bean;
       }

       public void setBean(TestBean bean) {
        this.bean = bean;
       }

       public String input() throws Exception {
        return "input";
       }
       
       public String execute() throws Exception {
              return "success";
          }

       public TestBean getModel() {
        return this.bean;
       }
      }

       

      [TestBean.java]

      package com.struts2.demo.bean;

      import java.math.BigDecimal;
      import java.util.Date;

      public class TestBean {
       private String str;
       private BigDecimal num;
       private BigDecimal[] numArray;
       private Date date;

       public String getStr() {
        return str;
       }

       public void setStr(String str) {
        this.str = str;
       }

       public BigDecimal getNum() {
        return num;
       }

       public void setNum(BigDecimal num) {
        this.num = num;
       }

       public BigDecimal[] getNumArray() {
        return numArray;
       }

       public void setNumArray(BigDecimal[] numArray) {
        this.numArray = numArray;
       }

       public Date getDate() {
        return date;
       }

       public void setDate(Date date) {
        this.date = date;
       }

      }

       

      [DateTypeConverter.java]

      package com.struts2.demo;

      import java.text.ParseException;
      import java.text.SimpleDateFormat;
      import java.util.Date;
      import java.util.Map;

      import org.apache.struts2.util.StrutsTypeConverter;

      public class DateTypeConverter extends StrutsTypeConverter {
       // Ognl默認(rèn)會(huì)轉(zhuǎn)換yyyy-MM-dd格式的日期;這里測(cè)試使用yyyyMMdd格式;
       private static final SimpleDateFormat DEFAULT_FORMAT = new SimpleDateFormat("yyyyMMdd");
       
       @Override
       public Object convertFromString(Map context, String[] values, Class toClass) {
        if (values[0] == null || "".equals(values[0])) {
         return null;
        }
        
        Date result = null;
        try {
         if (toClass.equals(Date.class)) {
          result = DEFAULT_FORMAT.parse(values[0]);
         }
        } catch (ParseException e) {
         e.printStackTrace();
        }
        
        return result;
       }

       @Override
       public String convertToString(Map context, Object o) {
        String result = "";
        if (o != null) {
         result = DEFAULT_FORMAT.format(o);
        }
        return result;
       }
      }


       

      [demo.xml] include進(jìn)struts.xml中;

      <?xml version="1.0" encoding="UTF-8" ?>
      <!DOCTYPE struts PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
              "http://struts./dtds/struts-2.0.dtd">

      <struts>

          <package name="demo" namespace="/demo" extends="default">

              <action name="test_*" class="com.struts2.demo.TestAction" method="{1}">
                  <result name="input">/WEB-INF/page/demo/input.jsp</result>
                  <result name="success">/WEB-INF/page/demo/result.jsp</result>
              </action>

          </package>
      </struts>


      [input.jsp]

      <%@ page contentType="text/html;charset=UTF-8" language="java" %>
      <%@ taglib prefix="s" uri="/struts-tags" %>

      <html>
      <head><title>demo input</title></head>
      <body>
          <s:form namespace="/demo" action="test" method="post">
          str: <s:textfield name="str" /><br/>
          num: <s:textfield name="num" /><br/>
          numArray: <s:textfield name="numArray" value="%{numArray[0]}"/><s:textfield name="numArray" value="%{numArray[1]}"/><br/>
          date: <s:textfield name="date" /><br/>
          <s:submit value="提交"></s:submit>
          </s:form>
      </body>
      </html>

       

      [result.jsp]

      <%@ page contentType="text/html;charset=UTF-8" language="java" %>
      <%@ taglib prefix="s" uri="/struts-tags" %>

      <html>
      <head><title>demo result</title></head>
      <body>
          str: <s:property value="bean.str"/><br/>
          num: <s:property value="bean.num"/><br/>
          numArray: <s:iterator value="bean.numArray">
           <s:property />
          </s:iterator><br/>
          date: <s:property value="bean.date"/><br/>
      </body>
      </html>

       

      [TestBean-conversion.properties]

      date=com.struts2.demo.DateTypeConverter

       

      3.2 全局類(lèi)型轉(zhuǎn)換器

      將以上配置文件“TestBean-conversion.properties”改名為“xwork-conversion.properties”,內(nèi)容改為“java.util.Date=com.struts2.demo.DateTypeConverter”;

      然后,將文件移動(dòng)到項(xiàng)目源文件夾src下面;

       

      以上測(cè)試通過(guò)!

       

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多