No result defined for action tell.how.gatjjdjg.action.PartymDevlAction and result input
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:364)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:306)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
at tell.how.gatjjdjg.util.MyStrutsFilter.doFilter(MyStrutsFilter.java:22)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:744
上传word文件可以进入action方法。而上传了表格文件就不行了。
<form class="form form-horizontal" enctype="multipart/form-data" action="partymDevl_addPartyer.action" method="post" id="addExc">
<div class="row cl">
<label class="form-label col-xs-4 col-sm-3">导入excel数据:</label>
<div class="formControls col-xs-6 col-sm-3">
<input type="file" class="form-control" id="excelFile" name="excelFile">
</div>
</div>
<br>
<div class="row cl">
<div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3" style="margin:0 auto;">
<input class="btn btn-primary radius" type="button" value=" 提交 " onclick="sub();">
</div>
</div>
</form>
public String addPartyer(){
System.out.println(123);
Workbook wb = null;
try {
wb = Workbook.getWorkbook(excelFile);
} catch (BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 获得原始文档
Sheet sheet = wb.getSheet(0);// 获取第一张Sheet表
int rowNum = sheet.getRows(); // 获取Sheet表中所包含的总行数
for (int i = 5; i < rowNum; i++) {
PtpPartyInfo ptp=new PtpPartyInfo();
ptp.setUserName(sheet.getCell(1,i).getContents());
ptp.setGender(sheet.getCell(2,i).getContents());
ptp.setIDnumber(sheet.getCell(3,i).getContents());
ptp.setPoliceId(sheet.getCell(4,i).getContents());
//设置生日日期
String birthday=sheet.getCell(5,i).getContents()+"-01";
StringBuffer sbBuffer=new StringBuffer(birthday);
sbBuffer.insert(4, "-");
String newbirthday=sbBuffer.toString();
SimpleDateFormat spl=new SimpleDateFormat("yyyy-MM-dd");
Date dateBirthday=null;
try {
dateBirthday = spl.parse(newbirthday);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ptp.setBirthday(dateBirthday);
ptp.setNation(sheet.getCell(6,i).getContents());
ptp.setNativePlace(sheet.getCell(7,i).getContents());
ptp.setEducation(sheet.getCell(8,i).getContents());
ptp.setPoliticsStatus(sheet.getCell(9,i).getContents());
//设置入党预备党员时间
int deve=Integer.parseInt(sheet.getCell(10,i).getContents())-1000;
String developReadyTime=String.valueOf(deve)+"-01";
StringBuffer sbBuffer1=new StringBuffer(developReadyTime);
sbBuffer1.insert(4, "-");
String newdevelopReadyTime=sbBuffer1.toString();
SimpleDateFormat spl1=new SimpleDateFormat("yyyy-MM-dd");
Date developReadyTime1=null;
try {
developReadyTime1 = spl1.parse(newdevelopReadyTime);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ptp.setDevelopReadyTime(developReadyTime1);
//设置转正时间
String indeedTime=sheet.getCell(11,i).getContents()+"-01";
StringBuffer sbBuffer2=new StringBuffer(indeedTime);
sbBuffer2.insert(4, "-");
String newindeedTime=sbBuffer2.toString();
SimpleDateFormat spl2=new SimpleDateFormat("yyyy-MM-dd");
Date indeedTime1=null;
try {
indeedTime1 = spl2.parse(newindeedTime);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ptp.setIndeedTime(indeedTime1);
//设置参加工作时间
String joinWorkTime=sheet.getCell(12,i).getContents()+"-01";
StringBuffer sbBuffer3=new StringBuffer(joinWorkTime);
sbBuffer3.insert(4, "-");
String newjoinWorkTime=sbBuffer3.toString();
SimpleDateFormat spl3=new SimpleDateFormat("yyyy-MM-dd");
Date joinWorkTime1=null;
try {
joinWorkTime1 = spl3.parse(newjoinWorkTime);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ptp.setJoinWorkTime(joinWorkTime1);
ptp.setOccupation(sheet.getCell(13,i).getContents());
ptp.setOccupationDuties(sheet.getCell(14,i).getContents());
ptp.setPlaceBranch(sheet.getCell(15,i).getContents());
ptp.setPartyPosts(sheet.getCell(16,i).getContents());
ptp.setPlaceBranch(sheet.getCell(17,i).getContents());
//设置批准党内职务任职时间
String positionTime=sheet.getCell(18,i).getContents()+"-01";
StringBuffer sbBuffer4=new StringBuffer(positionTime);
sbBuffer4.insert(4, "-");
String newpositionTime=sbBuffer4.toString();
SimpleDateFormat spl4=new SimpleDateFormat("yyyy-MM-dd");
Date positionTime1=null;
try {
positionTime1 = spl4.parse(newpositionTime);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ptp.setJoinWorkTime(positionTime1);
ptp.setLustrumRewards(sheet.getCell(19,i).getContents());
ptpPartyInfoService.savePtp(ptp);
}
return list();
}
<struts>
<!-- 配置为开发模式 ,更改该文件不需要重启-->
<constant name="struts.devMode" value="true" />
<!-- 把扩展名配置为action -->
<constant name="struts.action.extension" value="action" />
<!-- 把主题配置为simple, -->
<constant name="struts.ui.theme" value="simple" />
<package name="struts-partymDevl" extends="json-default" >
<!-- 党员发展Action -->
<action name="partymDevl_*" class="partymDevlAction" method="{1}" >
<result name="list">/WEB-INF/jsp/partymDevlAction/list.jsp</result>
<result name="list2">/WEB-INF/jsp/partymDevlAction/list2.jsp</result>
<result name="addExc">/WEB-INF/jsp/partymDevlAction/addExc.jsp</result>
<result name="addUI">/WEB-INF/jsp/partymDevlAction/addUI.jsp</result>
<result name="editUI">/WEB-INF/jsp/partymDevlAction/editUI.jsp</result>
<result type="stream" name="download">
<!-- 配置结果类型的参数 -->
<param name="inputName">downloadIn</param>
<!-- 告知客户端以下载的方式打开 -->
<!-- 动态获取下载的文件名:在该配置文件中使用OGNL表达式 。就相当于调用当前action的getDownloadFileName方法 -->
<param name="contentDisposition">attachment;filename=${downloadFileName}</param>
<!-- 告知客户端文件的MIME类型 -->
<param name="contentType">application/octet-stream</param>
</result>
<result name="jsonMap" type="json">
<param name="root">map</param>
</result>
</action>
</package>