Я использую <rich:fileupload>
, и мне нужно отправить некоторые дополнительные параметры моему контроллеру. Я попытался использовать для этого <f:param>
.JSF + rich: fileupload + param
Вот вид:
<rich:fileUpload
fileUploadListener="#{fileUploadController.listener}"
maxFilesQuantity="#{fileUploadController.uploadsAvailable}"
addControlLabel="Hinzufügen"
uploadControlLabel="Hochladen"
cancelEntryControlLabel="Abbrechen"
doneLabel="Fertig"
clearAllControlLabel="Alle entfernen"
noDuplicate="true"
stopControlLabel="Stop"
clearControlLabel="Entfernen"
id="upload"
immediateUpload="#{fileUploadController.autoUpload}"
ajaxSingle="true"
acceptedTypes="jpg"
allowFlash="#{fileUploadController.useFlash}"
rerender="info">
<a4j:support event="onuploadcomplete" reRender="info" status="globalStatus" />
<f:param
value="#{imageFormat}"
name="#{fileUploadController.imageFormat}"/>
</rich:fileUpload>
Вот FileUploadController
поддержка боб:
private String imageFormat;
public void setImageFormat(String imageFormat) {
this.imageFormat = imageFormat;
}
public String getImageFormat() {
return imageFormat;
}
Однако сеттер никогда не вызывается, так что переменная всегда null
. #{imageFormat}
имеет правильное значение, я проверил его с помощью <h:outputText>
.
Я не могу использовать <a4j:param>
, потому что нет кнопки для включения.
Мы используем JSF 1.2, а не JSF 2.0.
Я не понял, но если вы хотите знать формат изображения, то все изображение, которое у вас есть в вашем методе слушателя, вы можете легко определить, что такое формат. –
Нет, у меня есть STRING, который находится в # {imageFormat} (Формат должен быть) Я просто хочу знать, как получить параметр от моего богатого: fileupload к моему контроллеру – Joerg
Если такой подход с f: param будет когда-либо работа, она должна быть: <е: пары значение = "# {fileUploadController.imageFormat}" имя = "ImageFormat" /> – Andrey