ola pessoal tudo bem!!
esto com um problema que creio que nao seja dificil de resolver.E bem simples eu tem um servlet onde eu faço um upload de um arquivo!!
nesse servlet eu coloquei uma variavel que seria o login do usuario para o codigo do servlet fazer a função que eu quero so que o problema e na pagina xhtml.
eu esto usando a tag includo do jsf para colocar uma pagina html, que tem um form dentro da pagina para o usuario poder escolher o arquivo!!
o problema e o seguinte quando eu clico no botao para ele poder carregar o servlet na pagina xhtml ele ate roda o servlet, mas ele nao ta pegando o arquivo!
e sendo se que pegar por uma pagina de fora da pagina xhtml ele ate pega o arquivo mas não faz o que eu quero!!
vo posta o codigo da pagina xhtml ,da include e do servlet so para voçes verem o problema!!
pagina html usanda na include!
<html>
<head>
<title>Envio de Arquivo</title>
</head>
<body>
<form id="formimagem" name="formimagem" method="post" action="http://localhost:8080/SUPORTE_TTI_WEB/NewServlet?usuario=#{chamadobeans.usuario.login}" enctype="multipart/form-data">
ArquivoXML:<input name="imagem" type="file" id="imagem" class="dados" maxlength="60" tabindex="1" value="c:/"/>
<input type="hidden" id="tipoform" name="tipoform" value="imagem"/><br/>
ArquivoTXT:<input name="imagem" type="file" id="imagem" class="dados" maxlength="60" tabindex="1" value="c:/"/>
<input type="hidden" id="tipoform" name="tipoform" value="imagem"/><br/>
<input type="submit" id="upload" name="upload" tabindex="2" onclick=" window.open('http://localhost:8080/SUPORTE_TTI_WEB/NewServlet?usuario=#{chamadobeans.usuario.login}','#{chamadobeans.usuario.login}', '')"/>
</form>
</body>
</html>
do servlet do methodo doGet
ger = new Gerenciador();
String login = request.getParameter("usuario");
boolean isMultiPart = FileUpload.isMultipartContent(request);
if (isMultiPart) {
System.out.println("entao aqui pelo amor de deus");
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
String formulario = "";
try {
List items = upload.parseRequest(request);
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
System.out.println(item.getFieldName());
if (item.getFieldName().equals("tipoform")) {
formulario = item.getString();
}
if (!item.isFormField()) {
if (item.getName().length() > 0) {
System.out.println(item.getName());
this.ger.inserirArquivoTempDiretorio(login, item);
}
}
}
no methodo doPost so chama esse methodo!!
da pagina xhtml
<h:panelGroup rendered="#{chamadobeans.campo1}">
<h:form>
<form id="formimagem" name="formimagem" method="post" action="http://localhost:8080/SUPORTE/NewServlet?usuario=#{chamadobeans.usuario.login}" enctype="multipart/form-data">
ArquivoLOG:<input name="imagem" type="file" id="imagem" class="dados" maxlength="60" tabindex="1" value="c:/"/>
<input type="hidden" id="tipoform" name="tipoform" value="imagem"/><br/>
<input type="submit" value="anexar arquivo" onclick=" window.open('http://localhost:8080/SUPORTE/NewServlet?usuario=#{chamadobeans.usuario.login}','#{chamadobeans.usuario.login}', '')"/>
</form>
</h:form>
</h:panelGroup>
<h:panelGroup rendered="#{chamadobeans.campo2}">
<ui:insert name="campo">
<ui:include src="arquivoXML.html"/>
</ui:insert>
</h:panelGroup>
pessoal a pagina completa esta dento de um form principal o unico que esta separado esse form primeiro fiz do dois geito , mas nenhum pega!!
so uma coisa a mais o engraçado e que na minha pagina xhtml dependendo da opção que o usuaio escolhe aparecer esse campo para ele colocar os arquivo, sao uns 5 no total,quando todos estao visivel na minha pagina xhtml, ele consegue pegar o arquivo e salvar no local onde eu quero!!!
alguem pode me expluicar o porque de nao pegar o arquivo quando so tem 1 visivel!!!
obs: eu nao esto usando nenhum framework para jsf e nem posso 