【发布时间】:2020-04-14 07:45:07
【问题描述】:
我想在 JSF 中构建一个自定义组件,它可以:
- 从其
value属性中检索一个值 - 显示此值
- 能够通过 Javascript 更新该值(将更新值组件属性中使用的 bean 属性)
<t:myComponent value="#{myBean.value}" />
会显示
<div>
<input id="my_input" type="text" value="my_value" />
<button onclick="update_value(document.getElementById('my_input').value)">update</button>
</div>
<script>
function update_value(val) {
// ???
}
</script>
当我们点击按钮时,myBean.value 会被当前输入的内容改变(那个用户可以明显改变)。
据我了解,使用ResponseWriter 显示组件中的值看起来很容易,但我不明白如何构建 Javascript 来调用组件来更改组件的值。
例子
// myBean.value = "foo"
<t:myComponent value="#{myBean.value}" />
// displays
<div>
<input id="my_input" type="text" value="foo" />
<button ...>update</button>
</div>
// user change input content by "bar"
// user click the update button
// myBean.value = "bar" now
【问题讨论】:
-
查看 PrimeFaces 组件(或带有 ajax 的 JSF 组件)的来源。他们都有这个。
标签: javascript jsf