Val*_*lva 0 css java jsf jsf-2
我正在尝试将CSS应用于我,<h:inputText>但到目前为止还没有成功:
<h:form id="contactform">
<h:panelGrid columns="3">
<h:outputLabel for="name">Name</h:outputLabel>
<h:inputText id="name" value="#{contact.client.name}" >
<f:ajax event="blur" render="nameMessage"></f:ajax>
</h:inputText>
<h:message id="nameMessage" for="name" />
<h:commandButton value="Send" action="#{contact.sendMessage}">
<f:ajax execute="@form" render="@form" />
</h:commandButton>
<h:messages globalOnly="true" layout="table" />
</h:form>
Run Code Online (Sandbox Code Playgroud)
我的CSS:
#contactform .text-input{
background-color:#fbfbfb;
border:solid 10px #000000;
margin-bottom:8px;
width:178px;
padding:8px 5px;
color:#797979;
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试在某些HTML输入字段中应用此CSS样式,它可以工作,但不适用于JSF 2.0.
编辑:
在JSF中更新我的代码的这部分:
<h:inputText id="name" styleClass="text-input" value="#{contact.client.name}" >
Run Code Online (Sandbox Code Playgroud)
将此代码插入我的CSS文件中:
text-input{
border:solid 1px #e0e0e0;
}
Run Code Online (Sandbox Code Playgroud)
但似乎同样的事情,没有任何改变.
输出:
<form id="j_idt35" name="j_idt35" method="post" action="/brainset/contact.xhtml" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="j_idt35" value="j_idt35" />
<table class="contactform">
<tbody>
<tr>
<td><label for="j_idt35:name"> Name</label></td>
<td><input id="j_idt35:name" type="text" name="j_idt35:name" class="text-input" onblur="mojarra.ab(this,event,'blur',0,'j_idt35:nameMessage')" /></td>
<td><span id="j_idt35:nameMessage"></span></td>
</tr>
</form>
Run Code Online (Sandbox Code Playgroud)
编辑2:
这里有些奇怪的东西.在你们的帮助下更新我的代码:
<h:form>
<h:panelGrid id="contactform" styleClass="contactform" columns="3">
<h:outputLabel for="name">Nome</h:outputLabel>
<h:inputText id="name" value="#{contact.client.name}" >
<f:ajax event="blur" render="nameMessage"></f:ajax>
</h:inputText>
<h:message id="nameMessage" for="name" />
</h:panelGrid
</h:form>
Run Code Online (Sandbox Code Playgroud)
所以我的CSS风格现在是这样的:
.contactform .text-input{
background-color:#fbfbfb;
border:solid 50px #000000;
margin-bottom:8px;
width:178px;
padding:8px 5px;
color:#797979;
}
Run Code Online (Sandbox Code Playgroud)
如果我在特定的输入文本中应用css样式它可以工作,但它不应该适用于我的表格下面的所有输入文本?
任何的想法?
默认情况下,输出<h:inputText ...>不应具有任何class属性.您可以class通过styleClass在JSF标记中定义属性来添加属性
<h:inputText id="name" styleClass="text-input" value="#{contact.client.name}" >
</h:inputText>
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅参考