兩種方式:
方法一 :在action裏進行判斷
界面datetimepicker代碼(check.jsp)
<sx:datetimepicker name="birth30545" type="date" disabled="yyyy-MM-dd" label="生日" required="true"/>
action判斷代碼
import com.opensymphony.xwork2.ActionSupport;
public class T32CheckAction0545 extends ActionSupport{
private Date birth30545;
public Date getBirth30545() {
return birth30545;
}
public void setBirth30545(Date birth30545) {
this.birth30545 = birth30545;
}
public String execute()throws Exception{
int t=1;
if(t==1)
return "success";
else
return "input";
}
public void validate(){
//下面是主要判斷代碼,上面寫那麼多主要是怕小白看不明白
java.util.Date nowdate=new java.util.Date();
if(getBirth30545()==null){
this.addFieldError("birth30545", "請填寫日期");
}
else{
boolean flag = getBirth30545().before(nowdate);
if(!flag)
this.addFieldError("birth30545", "不能填寫以後的日期");
}
}
}
strust.xml配置(這裏特別特別注意,我當時栽這個坑裏1個小時沒爬上來。。。
注意input這個result一定是指向datetimepicker所在的頁面,因爲我們的錯誤提示信息要在datetimepicker附近顯示!)
<action name="check32" class="s1.T32CheckAction0545" method="execute">
<result name="success">/success.jsp</result>
<result name="input">/check.jsp</result>
</action>
好了Action判斷就這麼多(纔不是就這麼多,這簡直是非常多!!!!但是老師讓這樣寫我又有什麼辦法(手動狗頭)(๑╹◡╹)ノ""")
方法二 :讓未來日期變得不能選擇
我們只要在標籤里加一個endDate=“2020-3-21”,是不是豁然開朗!!!
但是!寫成死值顯然不是我們IT界的camp作風~
二話不說,改!於是它就出現了
endDate=“new java.util.Date()”
想要成功一個字母都不能少嗷。
<sx:datetimepicker name="u.birth30545" type="date" endDate="new java.util.Date()" disabled="yyyy-MM-dd" label="生日" required="true"/>
回過頭來再看方法一簡直傷腦筋。