Java 如何确定正在调用哪个Struts操作?
如果我的问题听起来很基本,请原谅。我正在做一个项目,他们正在使用struts 1。我的主管告诉我,代码非常混乱。似乎正在使用struts 1框架和一些自行创建的框架的组合 当我点击一个按钮时,有没有办法找出调用了哪个方法?我查看了struts-config.xml文件,但没有帮助 是否有一种方法可以在我单击按钮时自动(动态)放置断点,这样我就知道这就是正在调用的类 任何帮助都将不胜感激 struts配置文件:Java 如何确定正在调用哪个Struts操作?,java,struts,struts-1,struts-config,Java,Struts,Struts 1,Struts Config,如果我的问题听起来很基本,请原谅。我正在做一个项目,他们正在使用struts 1。我的主管告诉我,代码非常混乱。似乎正在使用struts 1框架和一些自行创建的框架的组合 当我点击一个按钮时,有没有办法找出调用了哪个方法?我查看了struts-config.xml文件,但没有帮助 是否有一种方法可以在我单击按钮时自动(动态)放置断点,这样我就知道这就是正在调用的类 任何帮助都将不胜感激 struts配置文件: <action path="/adddispatches-fsav3-02-01
<action path="/adddispatches-fsav3-02-01" name="dispatchesForm" scope="request"
type="com.us.web.struts.action.DispatchesNassSimpleSearchAction"
validate="false">
类中的方法(因为类有5000多行)
DispatchesNassimpleSearchAction.java
它应该是DispatchesNassimpleSearchAction类中的“execute”方法。尽管如果使用自定义调度程序,struts操作中可能有许多方法
最好的办法是在该类的操作方法中用Java设置断点(或添加日志记录)。操作的方法签名如下所示:
public ActionForward someAction(ActionMapping mapping,
ActionForm aform,
HttpServletRequest request,
HttpServletResponse response
它应该是DispatchesNassimpleSearchAction类中的“execute”方法。尽管如果使用自定义调度程序,struts操作中可能有许多方法
最好的办法是在该类的操作方法中用Java设置断点(或添加日志记录)。操作的方法签名如下所示:
public ActionForward someAction(ActionMapping mapping,
ActionForm aform,
HttpServletRequest request,
HttpServletResponse response
了解
Action
类您的类,com.us.web.struts.Action.DispatchesNassimpleSearchAction
扩展自
如果直接扩展
Action
,则调用execute(ActionMapping、ActionForm、HttpServletRequest、HttpServletResponse)
方法。在您的实例中,您的类似乎没有扩展任何DispatchAction
,因为在struts config.xml
文件中的
标记中没有定义任何参数
属性。找出类的操作
类,com.us.web.struts.action.DispatchesNassSimpleSearchAction
扩展自
如果直接扩展
Action
,则调用execute(ActionMapping、ActionForm、HttpServletRequest、HttpServletResponse)
方法。在您的实例中,您的类似乎没有扩展任何DispatchAction
,因为在struts config.xml
文件中的
标记中没有定义任何参数
属性。如果发布相关的struts配置xml,可能会有所帮助。我已经添加了struts配置文件的一部分。我查看了这里提到的类,但似乎没有调用该类中的任何方法。您是否能够在浏览器中设置JavaScript断点以确定单击按钮时发送到服务器的URL?我们使用的是IE7。我不确定它是否能做到这一点。如果可以,我不知道怎么做。尽管我可以检查并查看如何执行。如果您发布相关的struts配置XML,可能会有所帮助。我已经添加了struts配置文件的一部分。我查看了这里提到的类,但似乎没有调用该类中的任何方法。您是否能够在浏览器中设置JavaScript断点以确定单击按钮时发送到服务器的URL?我们使用的是IE7。我不确定它是否能做到这一点。如果可以,我不知道怎么做。虽然我可以检查并查看如何执行。我在类中有一组带有该签名的操作方法,但它似乎没有调用该类中的任何方法。我在类中有一组带有该签名的操作方法,但是它看起来好像没有调用该类中的任何方法。我的类-->A-->B-->C-->D-->org.apache.struts.action.action。所以基本上我的意思是我的类分派NassSimpleSearchAction有5个祖先。B和C已经重写了execute(),我在execute()中都放了一个断点,但是断点仍然没有被命中。然后粘贴代码,看看我们能做些什么。我不理解你的“我的类-->A-->B-->C-->D-->org.apache.struts.action.action”格式。我的意思是DispatchesNassSimpleSearchAction扩展了类A。类A扩展了B。B扩展了C。C扩展了D,D扩展了struts action类。我将尝试在这里粘贴代码。只是类太大了。我已经添加了类中所有方法的方法签名。希望这有帮助。谢谢。因此,本质上类D
实现了execute
方法。我建议阅读代码,看看它如何在DispatchesNassSimpleSearchAction
类中调用相关方法。这个典型的例子是一个名为“责任链”模式的设计模式(如果内存没有问题的话)。所以基本上我的意思是我的类分派NassSimpleSearchAction有5个祖先。B和C已经重写了execute(),我在execute()中都放了一个断点,但是断点仍然没有被命中。然后粘贴代码,看看我们能做些什么。我不理解你的“我的类-->A-->B-->C-->D-->org.apache.struts.action.action”格式。我的意思是DispatchesNassSimpleSearchAction扩展了类A。类A扩展了B。B扩展了C。C扩展了D,D扩展了struts action类。我将尝试在这里粘贴代码。只是类太大了。我已经添加了类中所有方法的方法签名。希望这有帮助。谢谢。因此,本质上类D
实现了execute
方法。我建议阅读代码,看看它如何在DispatchesNassSimpleSearchAction
类中调用相关方法。这个典型的例子是一个称为“责任链”模式的设计模式(如果我没有记错的话)。