2014-11-19 2 views
0

Я пытаюсь сделать openfiledialog в бэкэнде, чтобы получить URL-адрес локального файла. Однако кажется, что стандартная библиотека JSF не поддерживает диалог открытия/сохранения файла. Есть ли другой способ получить URL-адрес файла с чем-то похожим на openfiledialog?Получить файл url в JSF 2.2

Вот что должно произойти: Нажмите на кнопку -> отправить действие к защитному боба ->шоу OpenFileDialog -> получить URL файла -> добавить сайт файла к список строк.

Я не уверен, как выполнить смелые шаги выше. Есть ли кто-нибудь, кто может дать мне какие-либо выводы или помочь сделать это?

(я использую JSF & Primefaces, я предпочел бы не использовать другую внешнюю библиотеку, если это возможно.)

ответ

1

Поскольку вы используете JSF 2.2, а также Primefaces, почему бы не использовать компонент primefaces?

Ниже Primefaces 5.0 showcase example для основной загрузки файла:

<h:form enctype="multipart/form-data"> 
    <p:growl id="messages" showDetail="true" /> 

    <p:fileUpload value="#{fileUploadView.file}" mode="simple" skinSimple="true"/> 

    <p:commandButton value="Submit" ajax="false" actionListener="#{fileUploadView.upload}" disabled="true" /> 
</h:form> 

Managed Bean

import org.primefaces.event.FileUploadEvent; 
import org.primefaces.model.UploadedFile; 

@ManagedBean 
public class FileUploadView { 

    private UploadedFile file; 

    public UploadedFile getFile() { 
     return file; 
    } 

    public void setFile(UploadedFile file) { 
     this.file = file; 
    } 

    public void upload() { 
     if(file != null) { 
      FacesMessage message = new FacesMessage("Succesful", file.getFileName() + " is uploaded."); 
      FacesContext.getCurrentInstance().addMessage(null, message); 
     } 
    } 
} 

Атрибут enctype для формы не требуется. Кроме того, для использования загрузки файлов Primefaces вам необходимо настроить определенные параметры и фильтры контекста. Вы можете обратиться за соответствующим documentation за то же самое.

+0

Не совсем то, что я считаю, но я получаю идею! Thanx – Sliver2009

0

Вы можете получить URL для файла загружены в пути или базы данных, не уверен, что если вы сделаете поиск в гугле, но я нашел эти URL-адрес может быть, помогут вам:

http://balusc.blogspot.com/2007/07/fileservlet.html

Download a file with JSF?

Вы просто нужно открыть диалог со ссылкой на файл, или, возможно, файл url может быть сохранен в переменной, чтобы добавить в список тоже или что угодно.

Надеюсь, это вам поможет.

+0

Обе эти ссылки предоставят информацию о том, как загрузить файл, имя которого известно. То, что я пытаюсь выполнить, - это поиск файлов и сохранение URL-адреса файла в переменной (Таким образом, теперь местоположение известно на forehand) – Sliver2009

Смежные вопросы