一尘不染

访问另一个jsp中搜索容器中显示的值

jsp

我有一个jsp,我在其中显示一些人说的员工数据。每个员工的数据显示为一行。我已将每一行作为链接,以便当用户单击提供特定雇员详细信息的任何行时,会将用户定向到显示该雇员相同数据的jsp,以便可以进行进一步处理。

我的问题是,当用户单击包含特定员工信息的行时,如何传递员工的数据?

我现在要做的是:

<portlet:renderURL  var="viewPendingLeaveApplicationsURL"/>

<liferay-ui:search-container delta="20" emptyResultsMessage="No Results Found">
    <liferay-ui:search-container-results total="<%= pendingApprovals .size() %>"
            results="<%= ListUtil.subList(pendingApprovals , searchContainer.getStart(), searchContainer.getEnd()) %>" />

    <liferay-ui:search-container-row keyProperty = "empId" modelVar="search"
            className="com.corpserver.mallyas.mis.portal.model.LeaveApplication">

        <portlet:renderURL var="leaveApplicationURL">
            <portlet:param name="jspPage"  value="/admin/AddCompany.jsp" />
            <portlet:param name="search" value='<%String.valueOf(search.getEmpId());%>'/>
        </portlet:renderURL>

        <liferay-ui:search-container-column-text name='Leave Duration' value='<%=String.valueOf(search.getLeaveDuration())%>' href="<%= leaveApplicationURL.toString()%>" />

        <liferay-ui:search-container-column-text name="From" value='<%=String.valueOf(search.getLeaveFromDate())%>' href="<%= leaveApplicationURL.toString()%>"/>

        <liferay-ui:search-container-column-text name="To" value='<%=String.valueOf(search.getLeaveToDate())%>' href="<%= leaveApplicationURL.toString()%>"/>

        <liferay-ui:search-container-column-text name="Reason" value='<%=String.valueOf(search.getLeaveReason())%>' href="<%= leaveApplicationURL.toString()%>"/>

        <liferay-ui:search-container-column-text name="Remarks" value='<%=String.valueOf(search.getLeaveRemarks())%>' href="<%= leaveApplicationURL.toString()%>"/>

    </liferay-ui:search-container-row>

    <liferay-ui:search-iterator/>

</liferay-ui:search-container>

在上面的代码中,我试图传递empId用户选择的行的。但是第二个jsp中什么也没有显示。我想在第二个jsp上传递所有这些信息。


阅读 205

收藏
2020-06-10

共1个答案

一尘不染

好吧,我在代码中看到一个小问题,问题在于生成URL的方式:

<portlet:renderURL var="leaveApplicationURL">
    <portlet:param name="jspPage"  value="/admin/AddCompany.jsp" />
    <portlet:param name="search" value='<%String.valueOf(search.getEmpId());%>'/>
</portlet:renderURL>

这行:

<portlet:param name="search" value='<%String.valueOf(search.getEmpId());%>'/>

应该:

<portlet:param name="search" value='<%= String.valueOf(search.getEmpId()) %>'/>

您是否注意到以下内容:,添加了开头,删除了结尾。
<%=String.valueOf(search.getEmpId())%>``<%=``;

简而言之,您需要在属性中添加一个jsp expression代替scriptlet的代码块value

2020-06-10