日期:2014-05-17  浏览次数:20625 次

一个小问题,struts2超链接
struts2使用超链接传递参数给action类!

JSP超链接部分:
HTML code

  <li>
        <s2:url id="url" action="p_getProductsByBrandName">

              <s2:param name="temp">参数</s2:param>

        </s2:url>

        <s2:a href="%{url}">华硕</s2:a>
  </li>



Java code

    // get products by brand's name
    public String getProductsByBrandName() {
        HttpServletRequest request=(HttpServletRequest)ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
        String name=request.getParameter("temp");
         // name=null ????
        return SUCCESS;
         
         }
    }





主要异常:
HTML code

/-- Encapsulated exception ------------\
java.lang.NoSuchMethodException: vo.Test.setTemp([Ljava.lang.String;)




他将此参数封装了。。。 自然取不到
----------------------
使用HTML超链接标签也有同样的问题。。。


------解决方案--------------------
Struts2 和struts1不一样 控制类需要建立页面元素的get/set方法 才能传值。request.getParameter("temp");
不能获取出来的值
------解决方案--------------------
<s2:a href="%{url}">华硕</s2:a>该url对应一个action 楼主action里面没有所要的方法啊。url加上需要执行的方法。