将请求参数从javascript发送到portletRequest对象

时间:2014-10-02 02:30:21

标签: jquery portal websphere-portal

我在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请求。

感谢

1 个答案:

答案 0 :(得分:4)

Portlet标记只能在jsp中呈现。所以,我觉得你可以将带有参数值的url分配给一个全局的javascript变量并使用它。