日期:2014-05-18  浏览次数:20805 次

<s:url > action中获取不到<s:param >中的值
jsp中代码
<table>
   <s:iterator value="resultList" status="index" id="i">
<tr>
     <td><s:property value="newsid1" /></td>
<s:url id="url" action="news_detail"> 
               <s:param name="newsid1"><s:property value="newsID"/></s:param> 
</s:url> 
     <td><s:a href="%{url}"><s:property value="newsTitle" /></s:a></td>
<td><s:property value="newsDateAndTime" /></td>
</tr>
   </s:iterator>
</table>

action.java

private String newsid1;

public String getnewsID(){
return newsid1;
}
public void setnewsID(String newsid1){
this.newsid1 = newsid1;
}

String sql= "select * from news " + "where newsID = '" + getnewsID() + "'";

getnewsID()=null; jsp传的参数没有取到

我在地址栏中http://localhost:8080/monitor/news_detail.action?newsid1=N00001

可以得到newsid1的值,请问怎么把值传给action,我想在action中用这个值,谢谢了


struts2 action url

------解决方案--------------------
request.getParameter("newsid1")
------解决方案--------------------
1.首先action要继承ActionSupport
2.在对应的execute()方法中定义request:

HttpServletRequest request = ServletActionContext.getRequest();
request.getParameter("newsid1");

------解决方案--------------------
setnewsID应该改为setNewsID,你的get也应该改成getNewsID,试试看.
------解决方案--------------------
感觉你的setter getter不是自动生成的,
不符合规范啊
用ide自动生成setter getter在试下。

private String newsid1;
public String getNewsid1() {
return newsid1;
}

public void setNewsid1(String newsid1) {
this.newsid1 = newsid1;
}