struts2 轉換器

所有的輸入的是罪惡的:

                   struts2的轉換器有二種方式:

一 繼承StrutsTypeConverter

將Coord轉換成爲String然後將String轉換成Coord

1.pojo類

package com.newer.pojo;

public class Coord {
    private Integer x;
    private Integer y;
    
    public Coord() {
        System.out.println("實列化");
    }
    
    public Integer getX() {
        return x;
    }
    public void setX(Integer x) {
        this.x = x;
    }
    public Integer getY() {
        return y;
    }
    public void setY(Integer y) {
        this.y = y;
    }
}

2:轉換器

import java.util.Map;

import org.apache.struts2.util.StrutsTypeConverter;

import com.newer.pojo.Coord;

public class CoordConvert extends StrutsTypeConverter {

    @Override
    public Object convertFromString(Map context, String[] values, Class toClass) {
        // --客服端---->服務器
        System.out.println("客戶端----〉服務器");
        Coord coord = new Coord();
        String[] s = values[0].split(",");
        coord.setX(Integer.parseInt(s[0]));
        coord.setY(Integer.parseInt(s[1]));
        return coord;
    }

    @Override
    public String convertToString(Map context, Object o) {
        System.out.println("服務器--->客服端");
        Coord c = (Coord) o;
        return "X=" + c.getX() + "---" + "Y" + c.getY();
    }

}


3頁面:

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>My JSP 'index.jsp' starting page</title>
    </head>
    <body>
        <s:form action="coordConvertAction" method="post" namespace="/">
            <s:textfield name="coord" label="coord 如:x,y"></s:textfield>
            <s:submit value="submit"></s:submit>
        </s:form>
    </body>
</html>




發佈了8 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章