日期:2014-05-18  浏览次数:20587 次

菜鸟求助,为什么不执行action中的方法
主要程序片段
action中:
public String showSong()
{
SongDAO  songDao = new SongDAO();
this.song = songDao.findById(songId);
System.out.println("--------------showsong----------");
return SUCCESS;
}


配置
	<action name="getSong"
class="com.meetcomet.mySong.action.getSong" method="showSong">
<result name="success">/showSong.jsp</result>
</action>


JSP:
	<s:url id="getS" action="getSong">
   <s:param name='songId'>
   <s:property value='songId'/>
</s:param>
</s:url>
 <s:a cssClass="maroon" href="%{getS}">
<s:property value='songName'/>
</s:a>


现象是这样的:
我去掉配置中method,直接用execute,是能执行成功的。
使用方法,没有任何反应。
?

------解决方案--------------------
你的Action类名是getSong么?
------解决方案--------------------
这不科学,你打断点试下能不能进入后台的getSong这个action的showSong方法

如果不能,检查下这个action的路径
------解决方案--------------------
action配置有问题吧,与你的类名不符啊。

------解决方案--------------------
首先 类名命名不合理  首字母怎么小写了呢


类是否继承了ActionSupport类

如果使用自定义方法  需要继承这个类的
------解决方案--------------------

 SongDAO  songDao = new SongDAO();
这句之前打印一条语句,看能不能输出,之后看错误提示!
------解决方案--------------------
设个断点看看吧。
------解决方案--------------------
- -你这个是自己写的单独的方法吧~action本身方法有继承的~
------解决方案--------------------
命名空间是否有指定?