2012-07-24 62 views
0

我需要发送一个值时,行动类点击链接。这是我的代码:我怎样才能发送一个隐藏的值使用Struts2行动类

<s:iterator value="results" var = "item"> 
    <li><pre> 
     <a href="<s:url action="getCompanies"/>" class="selectable"><b></b><s:property value="%{#item.getGroupName()}"/> (<span class="count"><s:property value="%{#item.getNrCompanies()}"/></span>)<s:hidden value="%#item.getGroupId()}" name="GroupId" id="GroupId" /></a> 
    </pre></li> 
</s:iterator> 

我需要被送回%#item.getGroupId()}根据我从迭代器选择的选项。

<s:hidden value="%#item.getGroupId()}" name="GroupId" id="GroupId" /> 

我对组ID有getter和setter,但它没有达到动作类。

谢谢

+0

它是否给出错误? – subodh 2012-07-24 09:13:24

+0

'value =“%#item.getGroupId()}''打开'{'大括号缺少代码,是否是拼写错误? – 2012-07-24 09:42:53

+0

这是一个错字,谢谢! – Sylvester 2012-08-07 09:15:44

回答

0

我认为你有问题,可能是由于name="GroupId"。将其更改为name="groupId"。 也将value="%#item.getGroupId()}更改为value="%{#item.getGroupId()}

0
<s:hidden value="%#item.getGroupId()}" name="GroupId" id="GroupId" /> 

尝试下面的一个,看来你还没有打开{括号

<s:hidden name="groupId" value="%{#item.getGroupId}"></s:hidden> 
+0

欢迎您,如果它有助于投票。 – subodh 2012-08-07 09:16:55

1

它是确定如果组ID出现在用户的浏览器的地址栏?如果是这样,那么你可以添加params到这样的网址:

<s:iterator value="results" var = "item"> 

    <s:url var="companyUrl" action="getCompanies"> 
     <s:param name="groupId" value="%{#item.getGroupId()}"/> 
    </s:url> 

    <li> 
     <pre> 
     <a href="${ companyUrl }" class="selectable"> 
      <b><s:property value="%{#item.getGroupName()}"/></b> 
      (<span class="count"><s:property value="%{#item.getNrCompanies()}"/></span>) 
     </a> 
     </pre> 
    </li> 

</s:iterator>