我在搜索栏搜索商品,地址栏显示的是http://localhost:8080/Rainbow/WebJsp/searchGoods.action , 然后我接着点搜索的时候,跳转到的地址栏式http://localhost:8080/Rainbow/searchGoods.action , 路径不一样了,相应的CSS样式显示不了。因为要进行分页设计,所有在配置文件上没有写type="redirect",请教高手啊!在线等!谢谢了

解决方案 »

  1.   

    把action的配置和你的form代码贴出来看看
      

  2.   

    Form :
    <s:form action="searchGoods" method="post" validate="true">
    <s:select name="GoodsDirectory.gdyId" list="#session.alldirectory.{?#this.gdyPid!=0}" listKey="gdyId" listValue="gdyName" headerValue="所有类别" headerKey="0"theme="simple"></s:select>              
    <input type="text" name="GoodsInformation.giName" size="10">
    <input type="submit" name="Submit" value="搜索">
    </s:form>Action:
    public String searchGoods() throws Exception { 
    List listGoods=goodsDAO.queryGoodsByName(goodsDirectory.getGdyId(), goodsInformation.getGiName(),pageNumber);
    ServletActionContext.getRequest().getSession().setAttribute("goods", listGoods)
    return "item_search_list";
    }配置文件:
    <!-- 商品搜索 -->
    <action name="searchGoods" class="goodsAction" method="searchGoods">
    <result name="item_search_list" >/WebJsp/item_search_list.jsp</result>
    <result name="input" type="redirect">/WebJsp/home.jsp</result>
    </action>对不起各位大虾,现在我把代码发了
      

  3.   

    你的代码中action配置的 <package name="" extends="struts-default">中是不是没有指定namespace属性的值,这样的话你的action是在默认的命名空间下,action的查找顺序是从最后向前查找,比如/baseMsg/user/getUerList.action, struts2会先在user中查找,找不到再在baseMsg中查找,再中不到就在根命名空间中查找,在找不到就在默认命名空间中查找,因为你没有配置action的命名空间,所以你的是在默认的命名空间中,而你的form是这样定义的<s:form action="searchGoods" method="post" validate="true"> ,所以跳转的时候会显示在根目录之后,你可以试一下,将你的action写成http://localhost:8080/Rainbow/任意字符/任意字符(还可以多加几个)/searchGoods.action 照样可以运行, 给你个文章看看http://www.uotown.com/wp23log/?p=117
      

  4.   

    好像<s:form>就是这样的你换成form就不会这样了