现在,我正在开发简单的 JSP portlet(不使用 struts)。我有 jsp 视图和第二个 jsp view_detail.jsp。在jsp视图中我写了这个:
<TD> <a href="<portlet:renderURL ><portlet:param name="view" value="/view_detail.jsp"/></portlet:renderURL>"><%=rs.getInt(1)%></a>
</TD>
但它不起作用。请你帮帮我。
如果我对您的理解正确,您应该为此使用 API。
尝试以下步骤:
在 view.jsp 的开头,您需要包含 taglib:
<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
<portlet:defineObjects />
然后你要插入网址的地方,把
<portlet:renderURL><portlet:param name="view" value="/view_detail.jsp" /></portlet:renderURL>
所以决赛<a href>
看起来像:
<a href="<portlet:renderURL><portlet:param name="view" value="/view_detail.jsp" /></portlet:renderURL>" target="_blank">Other JSP</A>
链接无法按照您的方式完成,因为 other_jsp.jsp 页面显示在另一个页面中,因此您必须链接到门户页面,然后门户页面会在 portlet 中显示您的 jsp。
you should follow the below code and also check in portlet.xml
<init-param>
<name>view-template</name>
<value>/jsp/a.jsp</value>
</init-param>
<body>
<portlet:renderURL var="other">
<portlet:param name="jspPage" value="/jsp/b.jsp"/>
</portlet:renderURL>
<a href="<%=other%>">other</a>
</body>
Example
a.jsp
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%>
<%@ taglib uri="http://alloy.liferay.com/tld/aui" prefix="aui"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<portlet:renderURL var="other">
<portlet:param name="jspPage" value="/jsp/b.jsp"/>
</portlet:renderURL>
<a href="<%=other%>">other</a>
</body>
</html>
b.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
hi karthik
</body>
</html>