我用的下面的代码,但是如果用户输入符合yyyy-mm-dd,则返回true。如果随便输,比如:‘asdf’,就会报错。如果把它放到try catch里,也会报错,date_str_p.matches根本没进异常。
String date_str_p = request.getParameter("date_str");
boolean str_f = date_str_p.matches("^\\d{4}-\\d{2}-\\d{2}$");
String date_str_p = request.getParameter("date_str");
boolean str_f = date_str_p.matches("^\\d{4}-\\d{2}-\\d{2}$");
String date_str_p = request.getParameter("date_str");
if (date_str_p=="" || date_str_p==null)
date_str_p = date_tmp_end;//当天日期
boolean str_f = date_str_p.matches("^\\d{4}-\\d{2}-\\d{2}$");//就是这句报错
if (date_str_p=="" || date_str_p==null) 尤其是:date_str_p==""报错的话,把错误贴出来,不然怎么知道什么错呢。
<%
String date_str_p = request.getParameter("date_str");
%><FORM METHOD=POST ACTION="works_query.jsp">
工号:<INPUT TYPE=TEXT NAME="job_num" SIZE=20 VALUE="<%=job_num_p!=null?job_num_p:""%>">
手机号:<INPUT TYPE=TEXT NAME="cell_num" SIZE=20 VALUE="<%=cell_num_p!=null?cell_num_p:""%>">
开始时间:<INPUT TYPE=TEXT NAME="date_str" SIZE=20 VALUE="<%=date_str_p!=null?date_str_p:""%>">
结束时间:<INPUT TYPE=TEXT NAME="date_end" SIZE=20 VALUE="<%=date_end_p!=null?date_end_p:""%>">
<INPUT TYPE=SUBMIT value="开始查询">
</FORM>
<input type="text" class="Wdate" id="date_str" name="date_str" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd'})" value="${date_str}"/> , 用el表达式取值如果是jsp调到jsp,可以
<input type="text" class="Wdate" id="date_str" name="date_str" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd'})" value="${param.date_str}"/>,用${param.XXX}"取值