jsf中的window.onload无法正常工作

时间:2016-08-16 08:16:28

标签: javascript jsf el

我必须在点击和上传复选框时调用javascript函数。在那个javascript函数中,我必须传递一个jsf参数。评估jsf参数的值并在运行时传递。正在为Onclick函数正确评估myClassDataItem.message的值,但在window.onload中,未评估值。 语法是否正确?

<h:selectBooleanCheckbox id="firstCheckbox" 
onclick= "showMsg('#{myClassDataItem.message}' );"/>

window.onload =  showMsg('#{myClassDataItem.message}');

1 个答案:

答案 0 :(得分:0)

window.onload来电置于<script> - 阻止:

<script type="text/javascript">
  window.onload =  showMsg('#{myClassDataItem.message}');
</script>

它有效。我的echoController只返回一个字符串对象:

@Named
@SessionScoped
public class EchoController implements Serializable {
  public String getEchoString() { return "Echo"; }
}

以下代码可以正常工作:

<script type="text/javascript">
  function showMsg(msg) { alert(msg); }
  window.onload = showMsg('#{echoController.echoString}');
</script>

但正如BalusC在答案here中提到的那样,你根本不应该这样做。