Problemas com pagina de upload

Buenas,

Tenho esse cod abaixo:

Page:

[code]

${msg}




				</tr>				
				
				<tr>
					<td width="100%"></td>
					<td><button type="submit">
							<img src="icon/next.png" />
						</button></td>
				</tr>
			</table>
			<input type="text"  name="imgName"  id="imgName" value="${imagemNome}" />
		</form>[/code]

.java

String nomeImagem = request.getParameter("imgName");
		try {
			fileUpload.setSizeMax(1111111);
			List<FileItem> itens = fileUpload.parseRequest(request);
			
			System.out.println(fileUpload.getFileSizeMax());
			
			for (FileItem fi : itens) {
				
				fi.write(new File("C:/img", nomeImagem));
				
				urlImagem = "LerImagem?foto="+nomeImagem;
		
			}
......

O codigo funciona tranquilamente, porem quando tento pegar o valor do campo text não funciona, pois o enctype nao deixa eu executar isso. Gostaria de saber se alguem já passou por isso e tem uma solucao melhor para meu problema… Procurei aq no guj mais nao encontrei nada especifico…

Vlw galera!

Está usando algum framework?

Vc disse q o enctype não deixa vc executar isso, mas não disse o q acontece e nem onde.

Entao amigo, com enctype ele faz o upload do input type file, porem não consigo pegar o input type text na minha servlet…

Vc está utilizando o apache commons upload pra trazer o arquivo.

A sua variável itens, não contém só o arquivo, mas também o texto. Vc pode verificar utilizando o método isFormField() no seu objeto fi.

Amigo, de primeiro resolvi o problema usando uma sessão… Mais achei muito interessante oque você disse. Você poderia dar um exemplo de como eu poderia pegar o valor do hidden? (Obs.: estou usando o fileUpload sim!)

Em uma rápida pesquisa no google eu encontrei algo q pode te ajudar muito.

for (FileItem item : formItems) {
    // processes only fields that are not form fields
    if (!item.isFormField()) {
        String fileName = new File(item.getName()).getName();
        fileName1+=fileName;
        String filePath = uploadPath + File.separator + fileName;
        File storeFile = new File(filePath);
        // saves the file on disk
        item.write(storeFile);
    } else {
        //here...
        String fieldname = item.getFieldName();
        String fieldvalue = item.getString();
        if (fieldname.equals("p_data")) {
            //logic goes here...
        } else if (fieldname.equals("upload_wall_gallery")) {
            //next logic goes here...
        }
    }
}

Se vc estivesse utilizando servlet 3.0 daria pra utilizar uma anotação e tudo seria feito do jeito normal.