Jsf 如何更改<;的大小;p:fileUpload>;

Jsf 如何更改<;的大小;p:fileUpload>;,jsf,primefaces,Jsf,Primefaces,我正在使用标签来实现文件上传功能。但是我需要更改文本框的大小,我无法更改 <h:outputLabel id="attachment_label" value="Add Attachment(s)" styleClass="atf-label" /> <p:fileUpload value="" mode="simple" style="width:350px"/> 我试图在CSS中设置宽度,但没有任何效果。我做了一些测试,看看这是否可行。Prime

我正在使用
标签来实现文件上传功能。但是我需要更改文本框的大小,我无法更改

<h:outputLabel id="attachment_label" value="Add Attachment(s)" styleClass="atf-label" />        
<p:fileUpload value="" mode="simple" style="width:350px"/>


我试图在CSS中设置宽度,但没有任何效果。

我做了一些测试,看看这是否可行。Primefaces将简单的文件上载转换为:

<input type="file" id="fileUploadForm:j_idt90" name="fileUploadForm:j_idt90" style="">

这基本上是类型文件的标准浏览器输入字段,意味着在chrome、firefox、ie上。。。这一切看起来都不一样。现在在我的语言环境中,这个框的标准大小是238px,通过增加输入类型的宽度,我确实看到上传周围的框变大了,但遗憾的是文本框和按钮没有跟随

如果你想让文件上传与众不同,我建议你看看文件上传的高级模式。您可以在primefaces showcase上看到它的工作原理:

编辑:我忘了在IE8中测试它(这台计算机上只有IE8)。在chrome中,文本是一个输出文本,在firefox中,文本位于不能变大的inputtext字段中,但在IE8中,如果我添加宽度:

<p:fileUpload value="#{fileUploadBean.file}" mode="simple" style="width:500px;"/> 


inputbox确实变大了。

这是文件上载功能在很长一段时间内的最大限制。Primefaces FileUpload在这种情况下并不例外。因此,无法更改输入文本框的
宽度。如果您想了解更多信息和其他选项,请选中此对话框:


Primefaces
p:fileUpload
文本大小通过应用
inputField
styleClass增加

style.css

.inputField {
   width: 350px !important;
}
fileUpload.xhtml

<p:fileUpload id="imageId" mode="simple" styleClass="inputField"></p:fileUpload>

我认为这是不可能的,因为简单的文件上载使用标准的浏览器输入文件字段。我认为如果你想让它看起来不同,那么你应该使用高级模式。