liferay-ui:标签不变更活跃

时间:2015-02-06 15:29:11

标签: liferay-6 liferay-aui

我遇到了liferay-ui的问题:标签

我需要根据之前点击的链接设置有效标签。我通过String

获取此信息
String selectedTab = ParamUtil.getString(request, "valA", "generalSettings");

然后我创建标签:

<liferay-ui:tabs
names="A,B,C,D,E"
tabsValues="valA,valB,valC,valD,valE" refresh="false"
value="<%=selectedTab%>" url="<%=tabURL.toString()%>" param="tab">
<liferay-ui:section>
    <%@ include file="a.jsp"%>
</liferay-ui:section>
<liferay-ui:section>
    <%@ include file="b.jsp"%>
</liferay-ui:section>
<liferay-ui:section>
    <%@ include file="c.jsp"%>
</liferay-ui:section>
<liferay-ui:section>
    <%@ include file="d.jsp"%>
</liferay-ui:section>
<liferay-ui:section>
    <%@ include file="c.jsp"%>
</liferay-ui:section>

问题是,如果使用参数,我的标签会一直保持活动状态,但是当我点击其他标签时,我会看到其他导入。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我试着在这里给你一些提示。我觉得你有两个错别字。

  1. 您的参数名为tab,而不是selectedTab(如param属性中所定义),
  2. 您允许的标签值(在tabsValues属性中定义)为: valA,valB 等; generalSettings 不存在。
  3. 试试这一行:

    String selectedTab = ParamUtil.getString(request, "tab", "valA");
    

    如果您只想选择第一个标签,则应该足以完全删除value的{​​{1}}属性。检查tabs implementation - 当值为null时,它将从请求本身读取参数<liferay-ui:tabs>,并在没有提供值时默认选择第一个选项卡。

    如果tab设置为false,则不应该刷新页面,这意味着每次单击选项卡都不会初始化refresh。这是因为所有部分都在页面上进行预渲染,只有Liferay.Portal.Tabs.showcalled才能显示已点击的部分并隐藏其他部分。

答案 1 :(得分:0)

通过创建RenderURL并将其绑定到url参数,我找到了答案。我现在唯一的问题是,每当我更改名称和tabValues时,如果它们不同,则不会显示部分内容。