struts得action为什么会执行2次,我只提交了一次
我提交得页面:
<%@ page language="java" pageEncoding="gb2312"%>
<html>
<head>
<title>76业务量查询</title>
<link rel="stylesheet" href="images/css.css" type="text/css" media="screen">
</head>
<body>
<html:form action="/search76">
<table width="773" border="0" align="center" cellpadding="0" cellspacing="0" class="zhengw">
<tr class="zhengwen">
<td width="26%"><div align="center" class="zhengw">
<label></label>
<div align="left">地区</div>
</div></td>
<td width="8%"> </td>
<td width="10%"><div align="center">开始时间</div></td>
<td width="13%"><div align="center">
<input class="input" type="text" name="regdate" size="12">
</div></td>
<td width="24%"><p>
<label>
<select name="smini" size="1" class="bdtj3" id="smini">
<option value="9" selected>9</option>
<%
int i=0;
for(i=0;i<=23;i++){
out.write("<option value=\"" + i + "\">" + i + "</option>");
}
%>
</select>
点 </label>
</p></td>
<td width="19%"> </td>
</tr>
<tr class="zhengwen">
<td><div align="center">
<label></label>
<select name="sheng" size="1" class="bdtj3" id="sheng">
<option value="AllCountry" selected>全国</option>
<option value="安徽">安徽</option>
<option value="重庆">重庆</option>
<option value="湖北">湖北</option>
<option value="吉林">吉林</option>
<option value="内蒙古">内蒙古</option>
<option value="宁夏">宁夏</option>
<option value="山西">山西</option>
<option value="福建">福建</option>
<option value="浙江">浙江</option>
<option value="辽宁">辽宁</option>
<option value="河南">河南</option>
<option value="甘肃">甘肃</option>
<option value="新疆">新疆</option>
<option value="黑龙江">黑龙江</option>
<option value="青海">青海</option>
<option value="河北">河北</option>
<option value="四川">四川</option>
<option value="江西">江西</option>
<option value="天津">天津</option>
<option value="江苏">江苏</option>
<option value="西藏">西藏</option>
<option value="海南">海南</option>
<option value="贵州">贵州</option>
<option value="广东">广东</option>
<option value="湖南">湖南</option>
<option value="山东">山东</option>
<option value="上海">上海</option>
<option value="陕西">陕西</option>
<option value="云南">云南</option>
<option value="广西">广西</option>
</select>
</div></td>
<td> </td>
<td><div align="center">结束时间</div></td>
<td><div align="center">
<input class="input" type="text" name="regdate2" size="12">
</div></td>
<td><label>
<select name="emini" size="1" class="bdtj3" id="emini">
<option value="9" selected>9</option>
<%
for(i=0;i<=23;i++){
out.write("<option value=\"" + i + "\">" + i + "</option>");
}
%>
</select>
点 </label></td>
<td> </td>
</tr>
<tr class="zhengwen">
<td><div align="right"></div></td>
<td colspan="3"><div align="center"></div></td>
<td> </td>
<td> </td>
</tr>
<tr class="zhengwen1">
<td><div align="right"></div></td>
<td colspan="3"><div align="center"></div></td>
<td> </td>
<td><input type="Submit" name="Submit" value="开始搜索" class="bdtj" align="middle"></td>
</tr>
</table>
</html:form>
</body>
</html>
这是action.java
package com;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class Search76Action extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
Search76Form search76Form = (Search76Form) form;// TODO Auto-generated method stub
String sheng = search76Form.getSheng();
String emini = search76Form.getEmini();
String smini = search76Form.getSmini();
String regdate2 = search76Form.getRegdate2();
String regdate = search76Form.getRegdate();
String stime=regdate+" "+smini+":00:00";
String etime=regdate2+" "+emini+":00:00";
/*System.out.println(sheng);
System.out.println(emini);
System.out.println(smini);
System.out.println(regdate2);
System.out.println(regdate);*/
//生成一个ArrayList对象,并把用户名和密码的值存入该对象中
ArrayList arr = new ArrayList();
arr.add(sheng);
arr.add(stime);
arr.add(etime);
String prompt=null;
//调用模型组件Search76Handler
if(sheng.equals("AllCountry")){
Search76Handler Search76 = new Search76Handler();
boolean mark = Search76.checkAllCountry(arr);
if(mark) prompt = "search76Success";
else prompt = "search76Fail";
//System.out.println(sheng);
System.out.println(prompt);
}else{
Search76Handler Search76 = new Search76Handler();
boolean mark = Search76.checkSheng(arr);
if(mark) prompt = "search76Success";
else prompt = "search76Fail";
//System.out.println(sheng);
System.out.println(prompt);
}
return mapping.findForward(prompt);
}
}
[解决办法]
at com.Search76Action.execute(Search76Action.java:64)
空指针.
[解决办法]
<link rel= "stylesheet " href= "images/css.css " type= "text/css " media= "screen ">
在jsp中 把这行去掉
[解决办法]
你是不是提交后 return mapping.findForward(prompt); 将其又指向了 你的提交?
建议你检查一下 mapping.findForward(prompt); 后的struts配置文件