Мне трудно получить элемент управления dynamicContent, чтобы работать так, как хотелось бы. Я нашел этот бит кода в файле pasteBin, и я думаю, что это может быть только то, что мне нужно, но я хотел бы понять, что он делает, прежде чем пытаться его реализовать.Динамическое управление динамическим контентом
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xe="http://www.ibm.com/xsp/coreex">
<xp:button value="Switch!" id="switchButton">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="dynamicCustomControl">
<xp:this.action><![CDATA[#{javascript:viewScope.controlName = 'cc_test2.xsp';
getComponent('dynamicCustomControl').show(null)}]]></xp:this.action>
</xp:eventHandler></xp:button>
<xe:dynamicContent id="dynamicCustomControl">
<xp:include id="customControlInluder">
<xp:this.pageName>
<![CDATA[${javascript:viewScope.controlName||"cc_test1.xsp"}]]>
</xp:this.pageName>
</xp:include>
</xe:dynamicContent>
</xp:view>
В частности, я не понимаю, синтаксис этой строки:
<![CDATA[${javascript:viewScope.controlName||"cc_test1.xsp"}]]>
Я предпочитаю использовать viewScope.get («CONTROLNAME»), а не в краткой форме viewScope.controlName но дон Не понимаю значения || в этой строке кода.
также линия
<xp:include id="customControlInluder>
, вероятно, является несущественным опечатка.
Процесс выглядит довольно просто и, похоже, он выполнит эту работу для меня. Просто хочу, чтобы я понял это, прежде чем спуститься по этой дороге.
Редактирование и обновление ---
Это очень короткий фрагмент кода может быть просто один из наиболее сохранившихся тайн вокруг. Я только что прошел через это, и каждый из настраиваемых элементов управления, отображаемых с помощью dynamicCustomControl, содержит элемент управления dynamicContent. Таким образом, удалось очень хорошо встроить dynamicContent внутри dynamicContent. Что до этого момента я никогда не мог нормально работать. Теперь он работает очень плавно с минимальным шумом & muss. Спасибо за комментарии и помощь.
Я тоже предпочитаю в основной всегда использовать «получить» и «положить». Однако Tim Tripcony всегда говорил мне, что область областей с областью видимости является допустимым исключением. Я считаю, что поскольку viewScope.varName можно использовать в EL тогда. Я все еще использую get и put чаще, чем нет, но я открыт для использования более короткой версии в наши дни. –
Я считаю, что это делает более очевидным, что делает код, и поскольку моя память действительно хороша, но только не очень длинная, Мне нужна всякая помощь. –
Вот интересный фрагмент кода: (sessionScope.get ("ssApplication") = "Demo")? true: false Что дает ошибка времени выполнения, потому что назначение не работает. Ясно, что это ошибка программирования, и я действительно имел в виду == «Демо». Однако если вы введете: (sessionScope.ssApplication = «Demo»)? true: false, он соответствует и работает и дает ответ истины. Совершенно верно, но абсолютно неправильно. Это упрощенная версия, потому что в моем тесте ssApplication был «Demo», поэтому очевидное было не так очевидно. Поэтому я теперь помещаю get и накладываю все свои назначения переменных области. –