Попытка отобразить список массивов в Struts 2 и получить ошибку - PullRequest
1 голос
/ 06 марта 2012

Вот мой код, и я получаю сообщение об ошибке. Может кто-нибудь сказать мне, в чем причина?

  <s:select label="Index" name="index" list="%{#{}}">
     <s:iterator value="#session.subscription_countries" var="slist">
         <s:property/>
    <s:if test='#slist=="CANADA" || #slist=="ALL"'>
    <s:optgroup label="Canada" list="%{#{'TSX':'TSX'}}" />
    </s:if>
    <s:if test='#slist=="UK" || #slist=="ALL"'>
    <s:optgroup label="United Kingdom" list="%{#{'FTSE100':'FTSE100'}}" />
    </s:if>
    <s:if test='#slist=="USA" || #slist=="ALL"'>
    <s:optgroup label="USA" list="%{#{'S&P500':'S&P500'}" />
    </s:if>
    <s:if test='#slist=="INDIA" || #slist=="ALL"'>
    <s:optgroup label="India" list="%{#{'NIFTY':'NIFTY','CNX100':'CNX100'}}" />
    </s:if>
     </s:iterator>

    </s:select>

Error

Java backtrace для программистов:

freemarker.core.InvalidReferenceException: Expression optGroupInternalListUiBean.parameters.list is undefined on line 36, column 8 in template/simple/optgroup.ftl.
    at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)
    at freemarker.core.IteratorBlock.accept(IteratorBlock.java:100)
    at freemarker.core.Environment.visit(Environment.java:209)
    at freemarker.core.MixedContent.accept(MixedContent.java:92)
    at freemarker.core.Environment.visit(Environment.java:209)
    at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167)
    at freemarker.core.Environment.visit(Environment.java:416)
    at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
    at freemarker.core.Environment.visit(Environment.java:209)
    at freemarker.core.MixedContent.accept(MixedContent.java:92)
    at freemarker.core.Environment.visit(Environment.java:209)
    at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
    at freemarker.core.Environment.visit(Environment.java:209)
    at freemarker.core.MixedContent.accept(MixedContent.java:92)
    at freemarker.core.Environment.visit(Environment.java:209)
    at freemarker.core.Environment.include(Environment.java:1482)
    at freemarker.core.Include.accept(Include.java:169)
    at freemarker.core.Environment.visit(Environment.java:209)
    at freemarker.core.MixedContent.accept(MixedContent.java:92)
    at freemarker.core.Environment.visit(Environment.java:209)
    at freemarker.core.Environment.include(Environment.java:1482)
    at freemarker.core.Include.accept(Include.java:169)
    at freemarker.core.Environment.visit(Environment.java:209)
    at freemarker.core.MixedContent.accept(MixedContent.java:92)
    at freemarker.core.Environment.visit(Environment.java:209

1 Ответ

0 голосов
/ 05 апреля 2012

Насколько я понимаю, вы пытаетесь получить список из сеанса и повторить его в поле, если я прав, то вы можете попробовать это.

"listValue =" Вот 1. список - это название вашего списка 2.headerKey / headerValue - не обязательно, но если вы добавите его, они появятся в верхней части окна выбора. 3. listKey: - он станет на вашей странице и является классом в списке, а значение - это переменная, имеющая значение, в классе. 4. listValue: - так же, как listKey

если listKey / listValue - строковые объекты, тогда пишите вместо

надеюсь, это поможет Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...