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. **检查方法可见性**:确认方法是否被声明...
2. **命名或拼写错误**:检查方法名是否正确无误,包括大小写和拼写。Java是区分大小写的,一个小写字母的差异也可能导致此问题。 3. **版本不兼容**:如果你使用的是第三方库或API,有可能是因为升级或降级了库的...
在遇到异常时,如java.lang.UnsupportedOperationException和java.lang.NoSuchMethodException,通常表明了代码中可能存在API使用错误、框架配置不当或者依赖版本不一致等问题。例如,记录中的异常提示用户必须提供...
通过以上分析,我们理解了解决`java.lang.NoSuchMethodException`的关键在于正确使用`@RequestParam`注解来匹配前端请求和后端方法参数。在实际开发中,应遵循最佳实践来处理文件上传,确保应用的稳定性和安全性。
- 检查Struts2配置文件(struts.xml)。 - 确保所有必需的库都包含在类路径中。 **3. `org.springframework.beans.factory.BeanCreationException`: Error creating bean with name 'biz' defined in classpath** ...
在给出的描述中,问题出在一个基于Struts2、Hibernate4和Spring4的Web应用项目。开发者创建了一个基类`BaseAction`,该类实现了Spring的`ModelDriven`接口,并且被声明为`@Component`,以便于Spring管理。同时,`...
public void testJsonConversion() throws IllegalAccessException, InvocationTargetException, NoSuchMethodException { // 测试代码... } } ``` #### 三、JSON-lib使用详解 1. **将Java对象转换为JSON格式...
2. 静态嵌套类:静态嵌套类(也称为静态内部类)与成员内部类相似,但它可以用`static`修饰。这意味着它们不与外部类的实例绑定,可以直接通过类名创建对象。静态嵌套类不能直接访问外部类的非静态成员,但可以通过...
常见的问题
然而,由于Kotlin与Java反射的实现方式有所不同,开发者在使用过程中可能会遇到一些特定的问题。本文将深入探讨这些问题以及如何解决它们。 1. **类型擦除与泛型** Kotlin中的泛型在编译后会被类型擦除,这意味着...
2. 使用`Constructor<?> getConstructor(Class<?>... parameterTypes)`:获取指定参数类型的构造器,然后调用`newInstance(Object... args)`创建对象。 四、访问类的成员 1. 获取方法:`Method getMethod(String ...
通用Mapper是MyBatis框架中的一个实用工具,它极大地简化了数据库操作的代码编写工作,尤其是在处理CRUD(创建、读取、更新、删除)操作时。MyBatis-通用Mapper通过逆向工程(Reverse Engineering)和代码生成工具,...
Spring 框架中,配置是其核心组成部分之一,它定义了如何实例化、装配以及管理应用程序中的对象。本文将详细讲解基于 Maven 项目的 Spring 配置补充,重点关注 Bean 的实例化、引入其他配置文件以及注解配置的细节。...
本文将深入探讨`ReflectionUtils`的原理、使用方法及其在Spring框架中的应用场景。 #### 二、ReflectionUtils介绍 ##### 2.1 主要功能 **1. 获取类的信息** `ReflectionUtils`可以帮助开发者轻松获取类的基本...
ReflectionUtils通常是一个自定义的工具类,包含了一系列静态方法,用于简化和封装反射操作,避免了直接使用反射API可能遇到的复杂性和潜在的异常处理。它通常提供以下功能: - 获取类的实例:根据类名创建对象,...
标题中的"ReflectFramework"是一个自定义的框架,用于简化对Java反射API的使用。 **ReflectFramework的使用** ReflectFramework的设计目标是简化Java反射的操作,使得开发者可以更加方便地调用类的方法,包括私有...
在使用反射时,需要注意可能出现的`ClassNotFoundException`、`IllegalAccessException`、`InstantiationException`和`NoSuchMethodException`等异常,这些都需要适当地捕获和处理。 八、应用实例 反射在很多框架和...