日期:2014-05-18  浏览次数:20833 次

struts验证的一个奇怪问题(见代码)等,在线等。
本人刚学struts,但遇到一个奇怪问题,我没有写或配置验证,页面怎么会自动验证,而且同一页面前只是前两个输入框验证了,后两个没,怎么回事?哪位高手帮忙解决一下,谢谢!!
代码:
jsp部分页面(只前两个input验证了):
function onSubmit(pattern)
{
  //確認ボタン
  if(pattern=='search')
  {
  idFrmMain.action="D301000Action_search.action";
  idFrmMain.submit();
  }
  else if(pattern=='new')
  {
  idFrmMain.action="D301110Action_init.action";
  idFrmMain.submit();
  }
}
<div class="box">
  <span class="input"><span class="inputCaption">検索期間(年月)</span>
  <input name="startDate" id="startDate" type="text" class="textYearMonth"> ~
  <input name="endDate" id="endDate" type="text" class="textYearMonth">
  </span><br>
  <span class="input"><span class="inputCaption">プロジェクト名称</span>
  <input name="projectName" id="projectName" type="text" class="text2">
  </span><br>
  <span class="input"><span class="inputCaption">PJ担当者</span>
  <input name="member" id="member" type="text" class="text2">&nbsp;
  </span>
  </div>
 <p>
  <input name="D301000A01" type="submit" class="submit" id="D301000A01" value="検索" onclick="onSubmit('search');">
  <input name="D301000A02" type="submit" class="submit" id="D301000A02" value="新規作成" onclick="onSubmit('new');">
  </p>
java部分页面:
private String startDate;
private String endDate;
public String getStartDate() {
return startDate;
}

public void setStartDate(String startDate) {
this.startDate = startDate;
}

public String getEndDate() {
return endDate;
}

public void setEndDate(String endDate) {
this.endDate = endDate;
}
public String init() throws Exception{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM");
endDate= sdf.format(new Date());
Date d=new Date();
d=new Date(d.getYear(),d.getMonth()-1,d.getDay());
startDate= sdf.format(d);
D301000Model dao=new D301000Model();
ActionContext ac=ActionContext.getContext();
Map temp=ac.getSession();
LoginEntry loginEntry=(LoginEntry)temp.get("SESSION_CURRENT_USER");
count=dao.count();
this.listEnteys=dao.list();
return "success";
}
配置部分:
 <action name="D301110Action_*" class="softwise.action.D301110Action" method="{1}">
  <result name="success">views/D301110.jsp</result>
  <result name="error">views/error.jsp</result>
  <result name="input">views/error.jsp</result>
  </action>
我没写任何验证,为什么我点“新規作成”会只验证“startDate”和“endDate”,另两个没验证,请高手帮忙

------解决方案--------------------
startDate 和 endDate是你FormBean里面的属性,而另外并非FormBean里面的属性,你可以用Struts标签写页面,这样表单数据的提交会更方便一些.
------解决方案--------------------
应该是FormBean里的问题
------解决方案--------------------
一看可知楼主是用的Struts2,而Struts2中是没有FormBean这种说法的。