<portal-logic/> 标记的详细描述

来源:互联网 发布:微信广告植入源码 编辑:程序博客网 时间:2024/05/13 15:20
<portal-logic:if attribute="value">
通过该标记的属性,可以检查几个条件。如果条件为 true,那么标记主体的内容将写入页面。否则,跳过该内容。可以对多个条件进行求值。例如,用户必须登录;并且,对于要呈现的下列标记的内容,主屏必须是活动的。
注: 所有早些以“not”开头的属性均已不推荐使用。请使用 <portal-logic:unless/> 标记代替这些属性。
    <portal-logic:if loggedIn="yes" screen="Home">       <!-- content area -->    </portal-logic:if>    

<portal-logic:if/> 标记的属性

  • capableOf="capability"

    表明客户机是否支持指定的能力。capability 可以是以下某个值:

    • HTML_2_0
    • HTML_3_0
    • HTML_3_2
    • HTML_4_0
    • HTML_CSS
    • HTML_FRAME
    • HTML_JAVA
    • HTML_JAVASCRIPT
    • HTML_NESTED_TABLE
    • HTML_TABLE
    • WML_1_0
    • WML_1_2
    • WML_TABLE
  • locale="locale"

    表明客户机的语言环境是否是指定的 locale(或指定的语言环境的子类型)。您可以指定一个以逗号分隔的列表,如en, en_US

  • loggedIn="yes|no"
    表明用户是否登录。例如,如果用户没有登录,那么以下代码将显示登录链接:
       <%-- login button --%>   <portal-logic:if loggedIn="no" notScreen="Login">        <td class="wpsToolBar" valign="middle" nowrap>         <a class="wpsToolBarLink"            href='<portal-navigation:url home="public" screen="Login" ssl="false"/>'>                   <portal-fmt:text key="link.login" bundle="nls.engine"/>         </a>      </td>   </portal-logic:if>    
  • navigationAvailable="yes|no"

    表明导航是否可用。

  • newWindow="yes|no"

    表明 portlet 是否从门户网站独立的浏览器窗口或 iFrame 中呈现(仅 HTML)。

  • nodeInSelectionPath="yes|no"

    检查是否已经选中页面。这意味着该页面位于用户选定的内容显示路径中。

  • pageAvailableNext="yes|no"

    检查是否可从导航中访问后一组页面。请参阅实施单层导航以获取示例。

  • pageAvailablePrevious="yes|no"

    检查是否可从导航中访问前一组页面。例如,可将该标记与 <portal-navigation:navigationShift> 标记结合使用,从而在用户定义的页面数超出已显示页面的选项卡数时呈现滚动图标。这种情况下的行为与pageAvailableNext 属性的行为相反。请参阅实施单层导航以获取示例。

  • pageCompletelyActive="yes|no"
    表明页面及其父代是否是活动的。以下示例显示一条消息(如果页面不是活动的)。
        <portal-logic:if pageCompletelyActive="no">       <p align="center" class="wpsFieldErrorText"><b><br>          &gt;&gt;&gt;                <portal-fmt:text key="info.pagenotcompletelyactive"                        bundle="nls.engine"/>          &lt;&lt;&lt;       <br></b></p>    </portal-logic:if>    
  • pageBookmarkable="true|false"
    如果页面可以加入书签,那么呈现它的内容。可以使用管理页面将页面设置成可加入书签的页面。以下示例在选择列表中提供“添加到收藏夹”选项,以允许用户将当前页面加入书签(如果当前页面可加入书签)。
        <portal-logic:if pageBookmarkable="true">       <option value='<portal:url command="AddBookmark" alias="Favorites"/>' >       <portal-fmt:text key='link.favorites.add' bundle='nls.engine'/>    </portal-logic:if>    
  • portletMaximized="yes|no"

    如果 portlet 是最大化的,呈现它的内容。该调用仅可在外表 JSP 中使用。

  • portletMode="edit|view|configure|help"
    检查 portlet 是否采用给定的某种方式。这个标记在定制的外表中是非常有用的。外表 JSP 位于 WebSphere Application Server 目录:
    • Windows was_profile_root\installedApps\cellname\wps.ear\wps.war\skin\/markup
    • UNIX was_profile_root/installedApps/cellname/wps.ear/wps.war/skins/markup
    • i5/OS app_server_root/installedApps/cellname/wps.ear/wps.war/skins/markup
  • portletState="portlet_state"
    检查 portlet 是否处于表明的状态。portlet 状态为 normalmaximizedminimized。例如,在 Control.jsp 中,以下代码将 tableHeight 变量设置为 100%。
        <portal-logic:if portletState="Normal,Maximized">        <% tableHeight = "height=\"100%\""; %>    </portal-logic:if>    
  • portletSolo="yes|no"
    检查门户网站当前是否以单独状态显示 portlet。在以下来自 Default.jsp 的示例中,以单独状态显示当前 portlet 时,将隐藏顶部导航和侧边导航。
           <portal-logic:if portletSolo="no">          <%@ include file="./topNav.jspf" %>          <%@ include file="./sideNav.jspf" %>       </portal-logic:if>                        

    有关更多信息,请参阅单独状态。

  • problem="problem"
    如果下列某个问题已发生,那么呈现它的内容。
    • content.not.available
    • login.invalid
    • password.invalid
    • portlet.not.active
    • portlet.not.authorized
    • portlet.not.available
    • portlet.title.not.available
    • userid.invalid

    要获取每个问题的完整描述,请参阅 <portal-fmt/> 标记中的 <portal-fmt:problem/> 标记。

  • resumeLevel="0|1|2"

    如果此属性的值等于 ConfigService 中的 persistent.session.level 键设置,在 Login.jsp 屏幕中使用该值来写标记的内容。请参阅持久会话状态(会话休眠)以获取有关该设置的更多信息。

  • resumeOption="0|1"

    如果此属性的值等于 ConfigService 中的 persistent.session.option 键设置,在Login.jsp 屏幕中使用该值来写标记的内容。请参阅持久会话状态(会话休眠)以获取有关该设置的更多信息。

  • screen="screen_name"
    检查当前屏幕名称的值。使用逗号来分隔多个屏幕名称。在以下示例中,只有当选定屏幕是主页、已登录或已注销时,才显示标记的内容。
        <portal-logic:if navigationAvailable="yes" screen="Home,LoggedIn,LoggedOut">    ....    </portal-logic:if>
  • selection
    指定当前选定页面的唯一的名称或对象标识。例如:
        <portal-logic:if selection="ibm.portal.Home">      You are on Home    </portal-logic:if>
  • showTools="yes|no"
    表明是否应该显示 portlet 标题栏和页面选项卡的其他控件。在以下示例中,当条件为 showTools="no" 时,将会显示 show_tools_off.gif 图标。
              <portal-logic:if showTools="no">       <% if (firstButton) { firstButton = false; } else { %> | <% } %>         <a href='<portal-navigation:url command="ShowTools"/>'>            <img border="0" align="absmiddle" width="16" height="19"                src='<portal-logic:urlFindInTheme file="show_tools_off.gif"/>'                alt='<portal-fmt:text key="link.show.tools" bundle="nls.engine"/>'                title='<portal-fmt:text key="link.show.tools" bundle="nls.engine"/>'            </a>      </portal-logic:if>      <portal-logic:if showTools="yes">       <% if (firstButton) { firstButton = false; } else { %> | <% } %>         <a href='<portal-navigation:url command="ShowTools"/>'>            <img border="0" align="absmiddle" width="16" height="19"                 src='<portal-logic:urlFindInTheme file="show_tools_on.gif"/>'                 alt='<portal-fmt:text key="link.hide.tools" bundle="nls.engine"/>'                 title='<portal-fmt:text key="link.hide.tools"                       bundle="nls.engine"/>'</a>      </portal-logic:if>

    无论在何种情况下,都可使用 <portal-navigation:url command="ShowTools"/> 命令(请参阅<portal-navigation/> 标记)更改 showTools 的值,以允许将门户网站页面上的图标作为开关使用。ShowTools.jsp 中也会检查该情况,从而确定是否在 portlet 标题栏中呈现移动 portlet 和删除 portlet 图标。请参阅定制页面以获取有关使用该功能的更多信息。

原创粉丝点击