现在,我开发简单的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>
但这是行不通的。请你帮助我。
答案 0 :(得分:0)
如果我理解正确,您应该使用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。
答案 1 :(得分:0)
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>