在使用可视设计器编辑的某个页面上选择文件上载组件
时,将显示该组件的“属性”窗口。
文件上载组件的大多数属性既是 JSP 属性,又是页面 Bean 中 Upload Java 组件的属性。
此 JavaServer Faces 1.2 组件具有以下属性。
类型:字符串类型:整型style 属性中设置了宽度,则会覆盖此设置。例如,Internet Explorer 将显示宽度设置,但 Mozilla 不会显示该设置。此外,通常组件在可视设计器中的尺寸会比在 Web 浏览器中更大但其排列顺序可能不正确,因此应确保在 Web 浏览器中测试组件的外观并在可视设计器中根据需要调整组件。 类型:字符串label 属性不像标签组件那样灵活。如果要对标签的外观进行更多控制(如相对于组件定位标签),则可以使用标签组件。类型:整型类型:字符串 position: absolute; left: 288px; top: 312px
您既可以直接输入值,也可以单击省略号 (...) 按钮以使用样式编辑器。
有关 CSS2 样式属性的列表,请参见以下 Web 页:
类型:字符串style 属性描述。 类型:布尔型for 属性链接到此组件,则当用户尝试在不输入值的情况下提交页面时,屏幕将显示一条错误消息。类型:上载文件com.sun.webui.jsf.model.UploadedFile 的对象。此属性为只读属性,不能在“属性”窗口中进行设置。可以使用对应的 Java Upload 组件的 getUploadedFile() 方法来访问上载文件的内容。类型:方法表达式可以从下拉列表中选择一个验证器。如果选择 (null),则不会调用任何验证器。如果选择了验证器,则还需要选择 required 属性以确保用户输入值。
类型:布尔型readOnly 属性下面有关使用 disabled 属性与使用 readOnly 属性的效果对比说明。类型:布尔型disabled 属性,JavaServer Faces 根本检测不到提交的任何值。类型:字符串title 属性,可以由屏幕阅读器读取并显示为工具提示。
类型:布尔型rendered 属性。类型:字符串类型:字符串类型:字符串类型:字符串类型:字符串类型:字符串类型:字符串类型:字符串类型:字符串类型:字符串类型:字符串类型:字符串类型:字符串类型:字符串类型:字符串类型:布尔型immediate 操作的最常见示例是“取消”按钮。可以将其设置为 immediate 以跳过常规验证和更新步骤,但操作处理程序仍可以执行所需的操作。通常,操作处理程序将导航至先前的某个页面。在某些设计中,操作处理程序可能还会将信息消息放在队列中,例如“事务已取消”。还可能会执行其他操作,例如,应用程序可能会记录用户取消当前操作的情况。
类型:布尔型 如果选定 preservePath (true),则该组件将保留用户在客户端上设置的文件输入元素的文本值。提供此属性是因为浏览器会以不同的方式处理类型为 file 的 HTML 输入元素的值。某些浏览器会提交请求的 multipart/form-data 文件部分中的输入元素的文本值,而另一些浏览器仅提交文件名部分,不提交目录部分。
如果未选定此属性,则文本值(通常是由用户明确输入的或通过从文件选择对话框中进行选择而设置的完整路径名称)会在隐藏字段中存储并提交。UploadRenderer 将完整文件路径保存在相应的 UploadFilterFileItem 实例(由 UploadedFile 实例封装)中。通过使用 UploadedFile 对象的 getClientFilePath 方法,可以检索保存的路径。
例如,页面上存在名为 fileUpload1 的文件上载组件,并且选中了其 preservePath 属性。此外,页面上还存在一个按钮和一个消息组组件。将以下代码添加到按钮组件的操作方法中会在消息组组件中显示客户端文件路径:
UploadedFile uploadedFile1 = fileUpload1.getUploadedFile();
info("Uploaded file's client file path: '" +
uploadedFile1.getClientFilePath() + "'");
类型:布尔型可以将此属性绑定到确定何时呈现文件上载的 JavaBeans 属性中。例如,机票预订表单可能只为经常乘坐飞机的人显示文件上载,而不为一般大众显示它。要绑定此属性,请单击属性右侧的省略号按钮 (...),然后在对话框中选择“使用绑定”。
要设置事件属性,请在可视设计器中右键单击组件,然后选择“编辑事件处理程序”> "<事件名称>"。
validatorExpression 属性选择 JavaServer Faces 验证器,请右键单击该组件,然后选择“编辑事件处理程序”> "validate"。该方法的缺省名称为 component-id_validate,其中 component-id 是组件的 id 属性的值。按照这种方式定义该方法时,将自动设置 validator 和 validate 属性。如果定义了验证器,则还需要选择 required 属性以确保用户输入值。
validatorExpression 属性的值。如果定义您自己的 validate 方法,请不要单独更改 validatorExpression 属性的值,否则会断开 validate 方法连接。component-id_processValueChange,其中 component-id 是组件的 id 属性的值。