java - 如何使用actionURL发送参数中选定的id?

标签 java eclipse liferay portlet portal

这是我的 view.jsp:

<portlet:actionURL name="getTravelId" var="travelIdUrl">
</portlet:actionURL>
for (Travel t : list) {
    <a href="<%=travelIdUrl%>"><%=t.getId() %></a>
}

然后在类里面:

 @ProcessAction(name="getTravelId")
        public void getSelectedTravelId(ActionRequest request, ActionResponse response){

        String idTravel = request.getParameter("idTravel");

        System.out.println("TRAVEL ID: " + idTravel);

    }

我尝试发送如下参数:

  <a href="<%=travelIdUrl%>?travelId="<%=t.getId()%>""><%=t.getId() %></a>

但不工作。

还尝试将actionURL放入其中,仍然不起作用

 for (Travel t : list) {
 <portlet:actionURL name="getTravelId" var="travelIdUrl">
        <portlet:param name="idTravel" value="<%t.getId()%>"/>
    </portlet:actionURL>
 <a href="<%=travelIdUrl%>"><%=t.getId() %></a>
    }

有人有解决办法吗?谢谢..

最佳答案

使用<portlet:param>,您绝对走在正确的道路上。标签将参数添加到 portlet URL。也许您可以尝试使用更多的 JSTL 和更少的 scriptlet。尝试一些类似于下面的代码片段的内容。

<c:forEach items='${list}' var="travel">
    <portlet:actionURL name="getTravelId" var="travelIdUrl">
        <portlet:param name="idTravel" value="${travel.id}"/>
    </portlet:actionURL>
    <a href="${travelIdUrl}">${travel.id}</a>
</c:forEach>

关于java - 如何使用actionURL发送参数中选定的id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20959050/

相关文章:

java - 在java中不使用getter和setter的情况下防止子类访问 protected 变量

eclipse - java.lang.UnsupportedClassVersionError : org/openbravo/base/ConnectionProviderContextListener : Unsupported major. 次要版本 52.0

java - 无法在 JMC 中为 Java 应用程序和 Eclipse IDE 打开飞行记录器

java - Liferay portlet 中没有编辑模式

liferay - Liferay 中基于密码策略的密码语法检查

java - 在 For 循环中的数组中使用 Length() 方法时出错

如果字段多次出现在 PDF 表单中,Java PDFBox 不会维护该字段的字体外观

java - 用于手势模式识别的 FastDTW 示例

java - 如何在eclipse jdt中使用代码查找成员变量是否在方法中使用?

popup - 如何关闭 Liferay 中的弹出窗口?