首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

求教一个关于struts2的有关问题

2013-05-02 
求教一个关于struts2的问题使用是tomcat6.0 + struts2.0,struts.xml放在了src目录下首先贴出错误信息如下:

求教一个关于struts2的问题
使用是tomcat6.0 + struts2.0,struts.xml放在了src目录下
首先贴出错误信息如下:
java.lang.NullPointerException
org.apache.struts2.impl.StrutsActionProxy.getErrorMessage(StrutsActionProxy.java:69)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)
org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:500)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:434)

web.xml配置如下:


 <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

  <welcome-file-list>
    <welcome-file>/category/main.jsp</welcome-file>
  </welcome-file-list>

然后struts.xml配置如下:

<struts>
   
  <include file="struts-authorize.xml"/>
  <include file="struts-category.xml"/>
  <include file="struts-cart.xml"/>
  <include file="struts-order.xml"/>
  
  <package name="dang-default" extends="json-default">

  </package>   

</struts>

其中main.jsp中初始化时使用ajax发送cat.action请求,代码部分如下:

  $(function(){
$.get(  
            "cat.action",
         function(data){
               $("#left").html(data);
         }
);
  });


其中cat.action对应struts-category.xml,配置内容如下

 <package namespace="/category" name="category-default" extends="dang-default">
       <action name="cat" class="dangdang.actions.category.CategoryAction">
         <result name="success">/category/category.jsp</result>       
       </action>
 </package>

其中CategoryAction.java代码片段如下

/**
*...
*/
public String execute(){
ICategoryDAO dao=new DCategoryDAO();
cats=dao.findByid(1, true);
return "success";
}
/**
*...
*/



debug这个execute没执行,并且报上述异常,使用tomcat热部署,访问路径如http://localhost:8080/,直接跳转到main.jsp,求高手指教啊。 Struts Tomcat
[解决办法]
没看出来什么问题,帮顶!
[解决办法]
你的错误信息没贴全,在错误信息里面应该可以找到哪行报错了
------解决方案--------------------


你的配置文件名称是struts.xml吗,还有它的位置在src吗
[解决办法]



把后台的错误贴全
[解决办法]
ajax提交的路径不对呀,少了namespace
[解决办法]
你先单独访问!cat.action看能访问到么? 
[解决办法]
引用:
Quote: 引用:

你先单独访问!cat.action看能访问到么? 
直接抛上面那个500异常,后台没有异常信息。
基本上是struts.xml的问题了
[解决办法]
"cat.action"换成"category/cat.action"试试
[解决办法]
估计还是struts.xml文件的问题!修改简单点试试 路径什么的别搞乱了!
[解决办法]
你配的struts的url为 <url-pattern>/*</url-pattern> 

所以就应该把cat.action改为cat
[解决办法]
<struts> 
  <include file="struts-authorize.xml"/>
  <include file="struts-category.xml"/>
  <include file="struts-cart.xml"/>
  <include file="struts-order.xml"/>
   
  <package name="dang-default" extends="json-default">
     
  </package>   
</struts>


在package内配置你在AJAX中调用的Action:CategoryAction
result为
<result type="json"/>

[解决办法]
空指针异常,肯定是某个实例为null,你确定excute()没执行,估计cats为null,所以报错了,在cats=dao.findByid(1, true);之前随便输出一点内容看看有没有执行到。
[解决办法]
重写ActionSupport类的addActionError、addActionMessage、addFieldError方法,打个断点,看看错误信息是啥你就明白了。

热点排行