VO:
public class Chess { private String name; private int price; private Date date; //setter/getter... }
Action:
public class ChessAction extends ActionSupport { Chess chess = new Chess(); //setter/getter... @Override public String execute() throws Exception { System.out.println("getName=" + chess.getName()); System.out.println("getPrice=" + chess.getPrice()); System.out.println("getDate=" + chess.getDate()); return SUCCESS; } }
struts-a.xml多一個action
<package name="basicstruts2" extends="struts-default" namespace="/struts2"> <action name="login" class="login.LoginAction"> <result name="success">/struts2/login.jsp</result> <result name="input">/struts2/login.jsp</result> </action> <action name="chess" class="login.ChessAction"> <result name="success">/struts2/chess.jsp</result> <result name="input">/struts2/chess.jsp</result> </action> </package>
chess.jsp
<form action="chess.action"> <input type="text" name="chess.name" value="Johnson" /><br /> <input type="text" name="chess.price" value="50" /><br /> <input type="text" name="chess.date" value="1988/08/08 12:34:56" /><br /> <input type="reset" /> <input type="submit" /> </form>
jsp頁面的格式可用main方法打如下的語法測試:
System.out.println(DateFormat.getDateTimeInstance().format(new Date()));
這樣才知道格式要打什麼,不然會往struts-a.xml設定的input頁跳轉;
如果input頁沒設,會出404,找不到input的錯誤
所以字串、數字、日期都可以自動轉換成java的型式
如果數字打字串會錯,還有日期我試的結果,年月日是OK的,但時分秒都是0
如果EL失效,就是${xxx}會直接印出來,就在JSP加<%@ page isELIgnored="false"%>
沒有留言:
張貼留言