【问题标题】:How can I conditionally render an attribute on HTML element in jspx如何有条件地在 jspx 中的 HTML 元素上呈现属性
【发布时间】:2014-06-03 21:20:46
【问题描述】:

不幸的是,我在这个特定项目中无法使用 ADF/JSPX。如何有条件地向元素添加属性?

     <input id="i1" type="radio" name="address_radio" value="S" 
ng-model="addressType"/>

我想在元素内有条件地渲染checked="checked"。 EL 渲染一个值很容易,但在这种情况下,我需要实际编写属性名称和值的脚本。属性的存在实际上是在元素上设置它。我相信 checked="false" 实际上也会检查单选按钮。无论如何,如果不编写自定义标签库,我怎么能轻松地做到这一点?不要再让我失望了 jspx/adf。我想它很简单,我根本不知道怎么做。我看到了 scriptlet,但我认为您不能在 jspx 中使用它。任何帮助表示赞赏。

【问题讨论】:

    标签: html oracle-adf scriptlet jspx


    【解决方案1】:

    当你发现自己在 adf 页面上使用 HTML 元素时,你应该知道,你在那里做错了什么。您应该改用&lt;af:selectBooleanCheckbox&gt;

    但是,如果您非常确定需要它,那么您几乎没有可用的解决方案:
    1.使用一些adf元素来包装html代码并设置条件表达式来渲染或不渲染这个包装器内的一些代码。
    2.可以用&lt;af:outputText escape="false" value="&amp;gt;your html code&gt;"/&gt;输出html
    3. 使用javascript修改html元素属性。

    再一次,您永远不必在 adf 页面中处理纯 html。

    【讨论】:

    • 非常感谢您非常诚实的回答。我来自 jQuery/javascript 前端背景。他们需要具有强大 html 和 css 技能的人来呈现创意想要的设计。不幸的是,他们没有任何人拥有 WebCenter Portal/ADF 经验,因此我们使用了大量自定义内容来获得正确的外观和感觉。可访问性也是一个非常高的要求,据我们所知,ADF 控件不允许使用 ARIA 属性。再次感谢。
    • 嗯,你需要一个知道如何驾驶这辆“汽车”的人。否则最好扔掉。 ADF 几乎可以做任何你想做的事情,但是你应该知道如何去做。它也支持 ARIA。
    • 相信我,我希望我可以将 ADF 和 Oracle 扔出窗外,但我正在使用 WebLogicPortal 10.3.6,所以我相信我们必须使用 ADF 和 jDeveloper 11.1.1.7。我从来都不是这些拖放设计师的粉丝。对于不能正确做前端的开发人员来说,这更重要。
    猜你喜欢
    • 2010-09-14
    • 2015-05-26
    • 2014-11-08
    • 2019-08-19
    • 2019-10-28
    • 2015-04-05
    • 2020-04-11
    • 1970-01-01
    • 2023-04-07
    相关资源
    最近更新 更多