所以也许我不明白这个问题。但我希望这个例子有帮助(顺便说一句,这段代码不会起作用,它只是为了帮助你了解它 sturts2 是如何发挥它的魔力的);因此,对于表单输入,您需要在 java 中有一个持有者类,这样您就可以从您的操作类中调用您的日期,例如 Holder.java:
public class Holder{
pirvate Date date;
public getDate(){
return date;
}
public setDate(Date date){
this.date = date;
}
}
您的 Holder.java 验证,因此您可以确保它是一个日期 Holder-validation.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator
1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="date">
<field-validator type="date">
<message><![CDATA[ Must be a date ]]></message>
</field-validator>
</field>
</validators>
您调用确保 holder.getdate 以获取日期 getDateAction.java 的操作类:
private Holder holder;
public class getDateAction{
public String execute(){
//get your date
Date date = holder.getDate();
return SUCCESS;
}
}
您的 jsp 表单,您可以在其中让客户输入日期。确保输入名称 =“holder.date”。这是site.jsp:
<s:form id="Form" name="MyForm" action="getDateAction" method="post" class="form">
<input type="text" name="holder.date" id="date" size="25" value="" class="required text">
</s:form>
最后但并非最不重要的是您的 struts.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="example" extends="struts-default">
<action name="getdate" class="com.location.action.getDateAction">
<result>example.jsp</result>
</action>
</package>
</struts>
这里有 Struts2 日期格式的解释:Struts 2 Date Format Examples
但我相信你在jsp中寻找的标签是
<s:date name="Date_Name" format="yyyy-MM-dd" />
其中 Date_Name 是 Java 中的 Date 对象。