2015-02-06 6 views
0

나는 데 어려움을 변경하지 : 탭을 Liferay-UI : 탭을 Liferay-UI를 활성화

내가 이전에 클릭 한 어떤 링크를 따라 활성 탭을 설정해야

. 나는

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> 

문제는 사용 매개 변수 I이 탭이 남아있는 경우 항상 비록 actived이다 다른 탭을 클릭하면 다른 가져 오기가 표시됩니다.

아이디어가 있으십니까?

답변

1

여기에 몇 가지 힌트를 드리겠습니다. 두 가지 오타가 있다고 생각합니다.

  • 허용 된 탭 값
  • ( tabsValues 속성에 정의) 귀하의 매개 변수 tab라고

    1. (param 속성에 정의 된대로)하지 selectedTab은 다음과 같습니다 발라, valB 등; generalSettings이 (가) 없습니다. 당신은 단지 첫 번째 탭이 제거하기에 충분해야 선택할 수 value<liferay-ui:tabs>의 속성을 모두 원하는 경우

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

      :

    이 라인을보십시오. Check tabs implementation - 값이 null이면 요청 자체에서 tab 매개 변수를 읽고 기본값이없는 경우 첫 번째 탭을 선택합니다.

    refresh을 false로 설정하면 페이지를 새로 고침해서는 안되며, selectedTab은 탭을 클릭 할 때마다 초기화되지 않습니다. 모든 섹션이 페이지에 사전 렌더링되어 있고 Liferay.Portal.Tabs.showcalled이므로 클릭 한 광고를 표시하고 다른 광고는 숨길 수 있습니다.

    +0

    도움을 주셔서 감사합니다. 마지막 순간에 값을 변경하여 좀 더 간단한 것을 잊어 버렸기 때문에 오류가있었습니다. 나는 다음에 더 조심 스러울 것이다. – migueloop

    0

    RenderURL을 작성하고 url 매개 변수에 바인드하여 해답을 찾았습니다. 지금 내가 가진 유일한 문제는 이름과 tabValues가 뚜렷한 경우 섹션 내용을 표시하지 않을 때마다 변경된다는 것입니다.