Java代码中的inputText
问题描述:
我试图包括在我的JSF页面中的Java代码到的inputText的价值,但根据TLD错误发生Java代码中的inputText
或属性指令在标签文件属性值 不接受任何表达式
这是我的jsf页面。
<%@ page contentType="text/html" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="html" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="core" %>
<%@ page language="java" %>
<core:view>
<html:form>
<html:outputLabel value="Informations " style="FONT-SIZE: xx-large;"/>
<br />
<br />
<%
final String property=System.getProperty("jboss.server.home.dir");
%>
<html:outputLabel value="Répertoire de configuration: " />
<html:inputText value='<%=property%>'/>
</html:form>
</core:view>
隐而不宣的工作或者与双引号或没有 如何解决这个问题吗? 非常感谢您
答
的问题是这行代码:
<html:inputText value='<%=property%>'/>
JSF使用表达式语言来填充/从JavaBean读值/。您必须创建一个POJO操作(称为ManagedBean),其变量为property
并将其链接到那里。
例如
public class ConfigurationAction {
private String property = System.getProperty("jboss.server.home.dir");
/**NOTE: MUST create a getter and setter. **/
public String getProperty() {
return property;
}
public void setProperty(String property) {
this.property = property;
}
}
不要忘记映射ManagedBean。在JBoss Seam中,您只需在类之上添加一个@Name
注释,例如@Name("configurationAction")
。
最后,用JSF表达式语言(EL)
<html:inputText value="#{configurationAction.property}"/>
哪里configurationAction
是你ManagedBean的名称,property
是ManagedBean实例呈现此。
+0
非常感谢,它完美的作品! – ulquiorra
您是否尝试过类似'value =“#{yourBean.property}”''的Java EL表达式? - 您可能必须创建一个bean来获取该系统属性。 – Thomas
JSF的哪个版本是? – Bozho
谢谢你们两位,问题解决了! – ulquiorra