我在IBM Portal Server中部署了一个JSR 168 Portlet,它有一个带有以下代码的jsp ...
<a href="
<portlet:renderURL>
<portlet:param name="itemNumber" value="<%=sessionBean.getItems()[i].getItemNumber()%>"/>
</portlet:renderURL>"><%=sessionBean.getItems()[i].getItemNumber()%>
</a>
我现在正试图将此代码从我的jsp移动到我的jquery javascript中,但我不认为放置portlet:renderURL会给我正确的结果。我试过了,它让我在源代码中将该自定义标记作为纯文本。
如何在我的javascript中获取portlet:renderURL变量的值? 。或者更好的问题是将请求参数从javascript传递到portletRequest对象的正确方法是什么。
- 更新 -
这里有一个关于我能够实现的更新。我今天想通了我可以在我的jsp中做到以下几点......
<script type="text/javascript">
$().ready(function() {
var params = ({
portletUrl : '<%= renderResponse.createRenderURL() %>'
});
init(params);
});
然后在我的jquery外化文件中我可以做...
var portletUrl = null;
$()ready(function(){
var myUrl = '<a href="'+portletUrl + "?itemNumber=" + data+'">' + data + '</a>';
}
function init(params) {
portletUrl = params.portletUrl;
}
它似乎有用,但我不能帮助您认为这不是推荐的方法。特别是因为要获取参数我需要将portlet请求转换为http请求。
感谢
答案 0 :(得分:4)
Portlet标记只能在jsp中呈现。所以,我觉得你可以将带有参数值的url分配给一个全局的javascript变量并使用它。