AMcoder - javascript, python, java, html, php, sql

Ինչպես որոշել զրոյական նստաշրջանի հատկանիշը՝ օգտագործելով JSTL

Ես սահմանել եմ նիստ, որը կառավարում է ընտրացանկը՝ ելնելով յուրաքանչյուր օգտագործողի դերից... Հիմա, օրինակ, ես ունեմ սա

<c:set var="role" scope="session" value='<%=((Long) session.getAttribute("role")).longValue()%>' />
<c:if test="${role == 121}">
        <div id="menu">
            <span class="menu-header">Registration</span>
            <ul>
                <li><a href="${pageContext.request.contextPath}/registration/organization-registry">Organization Registry</a></li>


            </ul>
        </div>
    </c:if>

<div id="menu">
                <span class="menu-header">Directory</span>
                <ul>
                    <li><a href="">Organization</a></li>


                </ul>
            </div>

Հիմա ի՞նչ, եթե ես ուզում եմ գնալ այդ էջ առանց մուտք գործելու: Ես փորձեցի գնալ այդ էջ՝ առանց մուտք գործելու, բայց NullPointetExcepetion բախվեց հիմնականում այն ​​պատճառով, որ ես դերում պահված ոչ մի նիստ չունեմ: Ես սահմանում եմ յուրաքանչյուր նստաշրջան, երբ օգտատերը մուտք է գործում: Երբ մուտք չեմ գործում, ես ուզում եմ դիտել մենյուն, որը որևէ դերի կարիք չունի... Օրինակ, ես վերահղում եմ դեպի այդ էջը մեկ հղումով, որը կարող է դիտվել մյուսների կողմից:

Ինչպե՞ս կարող եմ դեռ դիտել գրացուցակի ընտրացանկը, երբ ես մուտք չեմ գործել:

10.02.2013

  • Քիչն ավելին է: Թույլ տվեք JSTL-ին քայլել յուրաքանչյուր շրջանակի վրա՝ առանց հղում կատարելու նիստի շրջանակին. հեռացնել c:set զանգը: 11.02.2013
  • Դա հենց JSTL-ը չէ, ով դա անում է: Պարզելու համար, թե կոնկրետ ինչ է JSTL-ը, կարդացեք stackoverflow.com/tags/jstl/info 11.02.2013

Պատասխանները:


1

Ազատվեք <c:set> տողից ընդհանրապես: Դուք դրա կարիքը չունեք: EL ${}-ն արդեն որոնում է ատրիբուտներ էջի, հարցումի, նիստի և հավելվածի շրջանակում: NPE-ն առաջացել է այն պատճառով, որ դուք կանչել եք longValue()null-ին:

Հիշեք. դուք երբեք չպետք է խառնեք oldschool scriptlets <% %> ժամանակակից EL ${}-ի հետ: Դա անիմաստ է: Դուք միայն ձեզ կշփոթեք։

Տես նաեւ:

10.02.2013
Նոր նյութեր

Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..