public String dowItemCg(String docType){
String type = "";
if(docType.equals("5")){
//若文件类型是5,则是下载绩效评价模板
type = "项目绩效评估报告格式.doc";
}else if(docType.equals("8")){
//若文件类型是8,则是下载项目评审报告模板
type = "项目评审报告.doc";
}else{
type = "templet.rar";
}
String fileName = "\\upload\\templet\\"+type;
try {
inputStream = ServletActionContext.getServletContext().getResourceAsStream(fileName);
} catch (Exception e) {
logger.error("下载附件时,读取文件失败!",e);
super.addActionError("读取文件失败,可能不存在该文件!");
return "error";
}
if(inputStream == null){
super.addActionError("读取文件失败,可能不存在该文件!");
return "error";
}
downloadChineseFileName = type;
try {
downloadChineseFileName = new String(downloadChineseFileName.getBytes(), "ISO8859-1");
}catch(Exception e){
logger.error("转换文件名编码时出错!",e);
}
return "download";
}
调用此方法时,报java.lang.NoSuchMethodException,才发现struts2框架不知带参数的action。果断改成在方法内通过request获取参数值。
分享到:
相关推荐
Struts2是一个非常流行的Java Web框架,它极大地简化了创建MVC(模型-视图-控制器)架构的应用程序。在给定的“struts2-Annotation”主题中,重点是Struts2框架如何利用注解(Annotation)来增强其功能和简化配置。...
2. **反射操作**:在使用Java反射API(如`Class.getMethod()`或`Class.getDeclaredMethod()`)时,如果没有找到指定的方法,也会抛出此异常。 3. **动态代理**:在使用Java动态代理生成的代理类中,如果尝试调用的...
5. **框架规范遵循**:对于Struts2等框架,应遵循其规范,如避免在Action方法中使用参数(除非使用特殊注解),因为框架通常通过默认机制处理参数传递。 #### 解决方案 1. **检查方法可见性**:确认方法是否被声明...
当NoSuchMethodException异常在使用某个第三方库或框架时发生,应检查当前项目中所使用的库或框架版本是否与需要的方法兼容。有时候,方法可能在库的更新版本中被修改或删除,所以需要确保使用的版本与预期一致。 ...
NoSuchMethodException是Java程序中经常遇到的异常类型之一,它主要发生在程序通过反射机制调用一个不存在的方法时。该问题的解决方法主要涉及确保被调用的方法确实存在,并且其签名(包括方法名称、参数类型和参数...
2. **编译问题**:可能是编译时的类路径不正确,导致加载了错误的类版本,这个错误的类中没有定义 `getPortClassMap()` 方法。检查项目的构建配置,确保正确的类库和源代码被包含进来。 3. **反射调用**:如果使用...
如果尝试调用的方法是私有的或受保护的,你可能会遇到NoSuchMethodException。解决这一问题的方式可能包括重构代码,将私有方法公开或者提供一个公共方法来调用私有方法。 3. **确保方法的访问权限**:如果调用的...
NoSuchMethodException是在使用Java反射机制时常见的一种异常,它通常发生在尝试通过反射调用一个类中不存在的方法时。这种异常出现的根本原因是Java虚拟机在类路径中找不到指定的方法。解决此类问题通常需要检查多...
在遇到异常时,如java.lang.UnsupportedOperationException和java.lang.NoSuchMethodException,通常表明了代码中可能存在API使用错误、框架配置不当或者依赖版本不一致等问题。例如,记录中的异常提示用户必须提供...
Java.lang.NoSuchMethodException是一种在Java运行时抛出的异常,当通过反射机制试图调用某个类中不存在的方法时,就会触发这个异常。这种情况经常发生在类的API更新后,某些方法被移除或更改,而调用者代码未能及时...
通过以上分析,我们理解了解决`java.lang.NoSuchMethodException`的关键在于正确使用`@RequestParam`注解来匹配前端请求和后端方法参数。在实际开发中,应遵循最佳实践来处理文件上传,确保应用的稳定性和安全性。