我试图将java字符串返回值打印到脚本java中。 这是我在java类中的方法
public static String getchamps (){ //Bdconnection class
String str;
{
str = "date" ;
}
return str ;
}
问题是如何才能拥有此代码
<script type="text/javascript" >
"date"
</script>
答案 0 :(得分:3)
在这种情况下,您应该将JSF视为HTML代码生成器。您可以使用JSF标记/组件和EL表达式来生成所需的HTML输出。由于JavaScript在技术上是客户端语言的一部分(不是JSF!),你可以对JavaScript做同样的事情。
一旦你修复了这个糟糕的静态方法,就真正符合下面的Javabeans规范:
public String getChamps() {
return "date";
}
然后你可以让JSF打印它,好像它是一个JS变量,如下所示:
<script>
var champs = "#{bean.champs}";
</script>
要验证结果,只需在webbrowser中打开JSF页面并右键单击查看源。你应该看到类似的东西:
<script>
var champs = "date";
</script>
请注意字符串中的JS特殊字符!如果字符串包含例如,则这将失败双引号甚至换行符。如果是这种情况,那么你最好使用EL函数来逃避它,如答案所示:Escape JavaScript in Expression Language。
答案 1 :(得分:-2)
这样做:
<h:inputText id="propertyId" value="#{Bdconnection.str}" />
并在脚本中访问
document.getElementById('propertyId').val();