我有一个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上传递所有这些信息。
empId
好吧,我在代码中看到一个小问题,问题在于生成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())%>``<%=``;
<%=
String.valueOf(search.getEmpId())%>``<%=``;
简而言之,您需要在属性中添加一个jsp expression代替scriptlet的代码块value。
jsp expression
value