В моем приложении веб-методов на Java я выбираю файл и загружаю его. Когда окно загрузки закрывается, я сделал так, чтобы элемент управления был направлен обратно на родительскую страницу. Я реализовал это, создав IPortletURL
, вызывающий BasePortletPageBean.createRenderURL()
, установив его базовый URL-адрес на псевдоним портлета, который я хочу перенаправить. Затем вызывается метод перенаправления FacesContext
. Он отлично работал в веб-методах 8.0, и я разработал его на машине с Windows XP. Теперь я импортировал тот же проект в веб-метод 8.2 с установленной машиной Windows 7, но теперь он не работает. Пожалуйста, помогите мне.
public String downloadMaster() {
List<Object> selectedRows = getFnamesProvider2().getSelectedRows();
if (getFnamesProvider2().getSelectedRows() != null
&& getFnamesProvider2().getSelectedRows().size() != 0) {
for (Iterator iterator = selectedRows.iterator(); iterator
.hasNext();) {
com.webmethods.caf.FileNames details = (com.webmethods.caf.FileNames) iterator
.next();
System.out.println("Iterator Output!!!!!!!!!!!!!!!!!!!!!!!"
+ details.toString());
FileInputStream fileInputStream = null;
OutputStream out = null;
try {
String filename = "C:/SoftwareAG/MWS/Projects/"
+ getProjName() + "/"
+ session.getAttribute("folder").toString()
+ "/search/" + details.getFileName();
if (response == null) {
response = PortalServlet.getCurrentResponse();
setResponse(response);
}
if (response.getContentType() == null
|| (!(response.getContentType()
.equalsIgnoreCase("APPLICATION/DOWNLOAD")))) {
if (response == null) {
response = PortalServlet.getCurrentResponse();
}
getResponse().setContentType("APPLICATION/DOWNLOAD");
}
response.setHeader("Content-Disposition", "attachment"
+ "filename=" + details.getFileName());
File fileToDownload = new File(filename);
fileInputStream = new FileInputStream(fileToDownload);
response.setContentLength(fileInputStream.available());
out = response.getOutputStream();
response.setHeader("Content-Disposition",
"attachment;filename=" + details.getFileName());
int i;
while ((i = fileInputStream.read()) != -1) {
out.write(i);
}
fileInputStream.close();
out.close();
List<Object> selRows = getFnamesProvider2()
.getSelectedRows();
} catch (Exception e) // file IO errors
{
e.printStackTrace();
} finally {
try {
IPortletURL renderURL = createRenderUrl();
renderURL.setBaseURL("/kneipp.NewProject");
System.out.println("::::::renderURL::::::" + renderURL);
getFacesContext().getExternalContext().redirect(
renderURL.toString());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
return OUTCOME_OK;
}