用struts2,在某jsp里面如果写上<s:property value="request.userName"/>这句话就会报java.lang.NoSuchMet
8个回答
2016-04-02 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
java.lang.NoSuchMet这个错误不是由<s:property value="request.userName"/>引起的,在页面上从request取值是可以这么写的。
这句话的意思是:找不到定义的方法。如果是jdk自带的,那需要导入完整的jar包。
如果是部署过一次,建议删除jsp页面,然后重新打包部署看看是否还报错。
Tomcat的Webapps目录是Tomcat默认的应用目录,务器启动时,会加载所有这个目录 下的应用。
也可以将JSP程序打包成一个war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。
一个war包就是有特 性格式的jar包,它是将一个Web程序的所有内容进行压缩得到。
在程序执行中打包:
try{
string strjavahome = system.getproperty("java.home");
strjavahome = strjavahome.substring(0,strjavahome.lastindexof(\\))+"\\bin\\";
runtime.getruntime().exec("cmd /c start "+strjavahome+"jar cvf hello.war c:\\tomcat5.0\\webapps\\root\\*");
}
catch(exception e){system.out.println(e);}
webapps这个默认的应用目录也是可以改变。
打开Tomcat的conf目录下的server.xml文件,找到下面内容即可:
<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeloy="true" xmlValidation="falase" xmlNamespaceAware="false">
这句话的意思是:找不到定义的方法。如果是jdk自带的,那需要导入完整的jar包。
如果是部署过一次,建议删除jsp页面,然后重新打包部署看看是否还报错。
Tomcat的Webapps目录是Tomcat默认的应用目录,务器启动时,会加载所有这个目录 下的应用。
也可以将JSP程序打包成一个war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。
一个war包就是有特 性格式的jar包,它是将一个Web程序的所有内容进行压缩得到。
在程序执行中打包:
try{
string strjavahome = system.getproperty("java.home");
strjavahome = strjavahome.substring(0,strjavahome.lastindexof(\\))+"\\bin\\";
runtime.getruntime().exec("cmd /c start "+strjavahome+"jar cvf hello.war c:\\tomcat5.0\\webapps\\root\\*");
}
catch(exception e){system.out.println(e);}
webapps这个默认的应用目录也是可以改变。
打开Tomcat的conf目录下的server.xml文件,找到下面内容即可:
<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeloy="true" xmlValidation="falase" xmlNamespaceAware="false">
展开全部
<s:property value="request.userName"/>
在struts的标签里面就不用在写什么ognl表达式了..
直接写
<s:property value="userName"/>
当然前提是你的action里面有这个变量哈..
在struts的标签里面就不用在写什么ognl表达式了..
直接写
<s:property value="userName"/>
当然前提是你的action里面有这个变量哈..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个写法是错的 从值栈里取属性才是xx.xx 而request是非值栈里的是action中的 应该添加#或者#attr
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<s:property value="request.userName"/>
你这句话要取的范围是什么?
如果是从action中获取,不用加request
如果是session或request中,添加“#”试一下
<s:property value="#request.userName"/>
你这句话要取的范围是什么?
如果是从action中获取,不用加request
如果是session或request中,添加“#”试一下
<s:property value="#request.userName"/>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
request是关键字,最好别用。
如果你用的是OGNL表达式,
里面可以直接写标签中name属性即可。
如果你用的是OGNL表达式,
里面可以直接写标签中name属性即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询