action中有属性sum有相应的getter、setter方法。
在jsp中输出 ${sum} 就可以显示sum的值,没问题。
但我把[b]class打成jar放到lib下[/b]后, sum的值就显示不出来,这是为什么?
我和你一样的 加一句配置就OK了
多个用逗号隔开
注意是jar包绝对路径的正则表达式
jar和zip都不行
直接放文件夹在lib下
打成jar包并不会影响什么,可能是你打jar包后路径不对,打的不对
[quote]谢谢回复,但我还是想打成jar 放到lib下。 [/quote]
请无视我刚才的回复 :oops: 昨天没睡好瞎回复
你的project的classpath加你的jar了么??
用绝对路径试一试。请求路径前面加上basePath
你这肯定是路径的问题,你把你打包的路径和class的路径好好查看一下,肯定哪里不对,你解压后能访问,看看那个路径,然后在打包,按常理说打包后直接导入class就能用了
你是不是使用了 注释!
不要使用注解。注解找不到的
你是说你的action在jar包里面,实际上没有找到你的action是吗?
我觉得跟java的类加载有关,加载lib里面的jar的加载器跟加载classes里面类的加载器可能不是同一个,如果是层次不一样,那么父加载器加载的类是看不到子加载器加载的类的。
首先web项目中,类加载器不止一个,应该至少有3个,就是下面的:
系统类加载器——》扩展类加载器——》应用类加载器——》用户自定义类加载器
加载顺序也是按照上面的顺序,也可理解为系统类加载器是扩展类加载器的父加载器。
按理来说,web应用里面的类,不管是jar包里的,还是classes里的,应该是用一个类加载器加载的。所以应该能找得到。
有关classloader,你可以看看这个:
http://longdick.iteye.com/blog/442213
你先做一个简单的测试,写一个简单的类,放在jar包里,然后在某一个action里面访问这个类,看看这样能不能找到,这样就能确定放在jar包里的类能否被classes里面的类找到。
:wink: :?: :!: :evil: :twisted: :P :? :shock: :D :) :( :o :lol: :cry: :cry: :roll: :twisted: :P :shock: :D :D :D :D :) :( :lol: :oops: :twisted: :roll: :arrow:
该页面请求没有经过该ACTION
讲了。不要使用注解!!
我猜想是此class文件没有加载到(打jar包的问题),楼主可以先做一个测试!
注解应该不是问题的关键,不管是jar 还是 class文件,是不是经过action吧,在跳转到页面,你调试下看看,是什么原因!
这个估计是人品问题吧,看下是否有重复的,覆盖了class类
会出现这种情况,可能是包有问题;
用myeclipse和ant打包都试试,我也遇到这种情况,在我的机器上用ant打成的包不好使,但在别人机器上就没事了,检查classpath...
我把class打成jar放到lib下后,工程里有没有看到你放到lib下的jar包,看看是不是这个问题。
jar打的是否正确,验证一下
主要看配置文件是否配置正确,跟是否打包无关
再仔细看看配置文件,你还可以先不打包写好,测试通过了后再打包,因为很多项目都是做完了后,再打包发布,可以用Ant打包试下,取不到值还有一种可能就是值的范围,你把值设置为session里去,这样再测试,一步一步排除问题