碰到一个诡异的问题,实在是看了很久没有看出来,所以贴出来,希望能得到大家的帮忙。
首先贴一下web.xml的配置struts.xml配置struts的一个子xml配置java文件的路径问题是这样子的,配置是采用通配,当我访问用超链接地址如下user.sys.action包下面的listaction的时候,struts会自动跳到user.userlist.action的listaction里面去了。
感觉太诡异了,没有碰到过这种问题,希望能得到大家的帮助
Strutsssh开发webj2eejava

解决方案 »

  1.   

    当然会这样的吧,因为你配置了namespace即命名空间,所以访问这个包下的action的时候要加上命名空间,即你前面的/user;你配置name属性的时候用的是*/list,*表示一个占位符即你访问的时候动态传入的值,当你访问http://localhost:8080/smalldiary/user/sys/list.action的时候*的值就是sys;而你后面的class属性是指这个action指向哪个具体的类,你写的是admin.apps.user.{1}.action.ListAction,哪个{1}表示引用你前面所定义的占位符的值,1表示第一个占位符,因为可以定义多个所以用索引指定
      

  2.   


    struts匹配的时候,*匹配到的是{1},而url,http://localhost:8080/smalldiary/user/sys/list.action中的{1},是sys,如果正确的话,他应该是进入到sys.action.listaction里面才对啊,而不是指向usrelist下面的action
      

  3.   


    你action的name加个\这个字符干嘛,,
      

  4.   


    你action的name加个\这个字符干嘛,,有"\"这个字符?怎么看都是"/"这个字符啊?能截图标注一下么?
      

  5.   


    精确配置是完全没有问题的。
    那就是在配置user.userlist.action的listaction的地方同样满足你现在的action配置,所以跳转到它的action了,
      

  6.   


    你action的name加个\这个字符干嘛,,有"\"这个字符?怎么看都是"/"这个字符啊?能截图标注一下么?好吧,我写错了,没事你干嘛加个/上去..
      

  7.   


    你action的name加个\这个字符干嘛,,有"\"这个字符?怎么看都是"/"这个字符啊?能截图标注一下么?好吧,我写错了,没事你干嘛加个/上去..跟那个没有关系那个是指访问路径。
    答案我已经找到了,我在下一楼公布。
      

  8.   


    精确配置是完全没有问题的。
    那就是在配置user.userlist.action的listaction的地方同样满足你现在的action配置,所以跳转到它的action了,
    嗯,知道什么原因了。已经查出来了。
      

  9.   

    其实那个配置是对的。
    问题在于,我加了那个struts-convention-plugin这个jar包。他会自动的搜索action,struts等,大家可以去了解一下。导致我的通配失效了。
    感谢热心的网友们。希望这个对你们有用。