basta nomeá-lo:
fornecedor.grupos[].id
basta nomeá-lo:
fornecedor.grupos[].id
Funcionou, parabéns pela implementação, possibilita um código mais elegante
Só pra constar pra galera que tiver o mesmo problema no futuro.
Eu tinha uma classe fornecedor que por sua vez possuia uma coleção de grupos.
E precisava que o vraptor preenchesse automaticamente os valores dos grupos em um multiple selectbox.
public class Fornecedor extends Domain implements Serializable {
...
@JoinTable(name = "grupos_fornecedores", joinColumns = {@JoinColumn(name = "fornecedor_id", referencedColumnName = "id")}, inverseJoinColumns = {@JoinColumn(name = "grupo_id", referencedColumnName = "id")})
@ManyToMany(fetch = FetchType.LAZY)
private List<Grupo> grupos;
...
Na última snapshot que peguei do vraptor 3 a 3.1.2xxxxx
A view ficou assim:
...
<select name="fornecedor.grupos[].id" id="gruposId" size="6" style="width: 450px;" multiple="multiple">
<c:forEach var="grupo" items="${grupos}">
<c:set var="selected" value="" />
<c:forEach var="group" items="${fornecedor.grupos}">
<c:if test="${grupo.id == group.id}">
<c:set var="selected" value="selected='selected'"/>
</c:if>
</c:forEach>
<option value="${grupo.id}" ${selected}>${grupo.nome}</option>
</c:forEach>
</select>
...
e na assinatura do método eu só precisei passar o fornecedor como parâmetro. Não preciso mais passar um array de Strings
...
public void save(Fornecedor fornecedor) {
...
Alguém conseguiu?
minha tentativa ta assim:
no intercept…
Enumeration<String> params = request.getParameterNames();
while (params.hasMoreElements()) {
String param = params.nextElement();
if (param.contains("[]")) {
String[] values = request.getParameterValues(param);
for (int j = 0; j < values.length; j++) {
request.setAttribute(param.replace("[]", "[" + j + "]"),
values[j]);
}
}
}
requestexecution
public CustomRequestExecution(InterceptorStack interceptorStack,
InstantiateInterceptor instantiator) {
super(interceptorStack, instantiator);
interceptorStack.add(FixParamsInterceptor.class);
}
e no jsp…:
<input type="checkbox" name="combo[].id" value="1" />
<input type="checkbox" name="combo[].id" value="2" />
na controller…
public void editaPerfil(Usuario usuario, List<Perfil> combo){...
Esta chegando null a lista, porém se eu troco o combo[] por combo[0] e combo[1] chega o valor… tenho que alterar mais alguma coisa pra funcionar o combo[]?
baixe o último snapshot do vraptor, isso (a notação combo[]) já está funcionando:
[quote=Lucas Cavalcanti]baixe o último snapshot do vraptor, isso (a notação combo[]) já está funcionando:
preciso por algum jar a mais?
nao ta achando NoClassDefFoundError: com/thoughtworks/paranamer/AnnotationParanamer
tenho o paranamer-1.5.jar dentro do web/lib
Resolvido atulizei o paranamer para 2.2 e foi. http://repository.codehaus.org/com/thoughtworks/paranamer/paranamer/2.2/paranamer-2.2.jar
Me deparei com o seguinte erro ao usar select multiple Vraptor 3 (3.1.3).
09:17:07,125 DEBUG [VRaptorRequest ] Setting noticia.editorias[0].id with [1]
09:17:07,125 DEBUG [VRaptorRequest ] Setting noticia.editorias[1].id with [3]
09:17:07,125 DEBUG [VRaptorRequest ] Setting noticia.editorias[2].id with [5]
09:17:07,125 DEBUG [OgnlParametersProvider] Applying noticia.editorias[].id with [1, 3, 5]
09:17:07,125 DEBUG [OgnlParametersProvider] unable to parse expression 'noticia.editorias[].id'
ognl.ExpressionSyntaxException: Malformed OGNL expression: noticia.editorias[].id [ognl.ParseException: Encountered " "]" "] "" at line 1, column 19.
Was expecting one of:
":" ...
"not" ...
"+" ...
"-" ...
"~" ...
"!" ...
"(" ...
"true" ...
"false" ...
"null" ...
"#this" ...
"#root" ...
"#" ...
"[" ...
"{" ...
"@" ...
"new" ...
<IDENT> ...
<DYNAMIC_SUBSCRIPT> ...
"\'" ...
"`" ...
"\"" ...
<INT_LITERAL> ...
<FLT_LITERAL> ...
]
at ognl.Ognl.parseExpression(Ognl.java:112)
at ognl.Ognl.setValue(Ognl.java:783)
at br.com.caelum.vraptor.http.ognl.OgnlParametersProvider.createViaOgnl(OgnlParametersProvider.java:132)
at br.com.caelum.vraptor.http.ognl.OgnlParametersProvider.createRoot(OgnlParametersProvider.java:108)
at br.com.caelum.vraptor.http.ognl.OgnlParametersProvider.getParametersFor(OgnlParametersProvider.java:90)
at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.getParametersFor(ParametersInstantiatorInterceptor.java:104)
at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:77)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:47)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.simtecnologia.access.controll.impl.AccessInterceptor.intercept(AccessInterceptor.java:110)
at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:47)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.simtecnologia.acesso.AcessoInterceptor.intercept(AcessoInterceptor.java:39)
at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:47)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.caelum.vraptor.util.hibernate.HibernateTransactionInterceptor.intercept(HibernateTransactionInterceptor.java:45)
at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:47)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:46)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.simtecnologia.vraptor.util.FirstInterceptor.intercept(FirstInterceptor.java:64)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)
at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)
Caused by: ognl.ParseException: Encountered " "]" "] "" at line 1, column 19.
Was expecting one of:
":" ...
"not" ...
"+" ...
"-" ...
"~" ...
"!" ...
"(" ...
"true" ...
"false" ...
"null" ...
"#this" ...
"#root" ...
"#" ...
"[" ...
"{" ...
"@" ...
"new" ...
<IDENT> ...
<DYNAMIC_SUBSCRIPT> ...
"\'" ...
"`" ...
"\"" ...
<INT_LITERAL> ...
<FLT_LITERAL> ...
at ognl.OgnlParser.generateParseException(OgnlParser.java:3172)
at ognl.OgnlParser.jj_consume_token(OgnlParser.java:3051)
at ognl.OgnlParser.unaryExpression(OgnlParser.java:1236)
at ognl.OgnlParser.multiplicativeExpression(OgnlParser.java:971)
at ognl.OgnlParser.additiveExpression(OgnlParser.java:894)
at ognl.OgnlParser.shiftExpression(OgnlParser.java:750)
at ognl.OgnlParser.relationalExpression(OgnlParser.java:508)
at ognl.OgnlParser.equalityExpression(OgnlParser.java:405)
at ognl.OgnlParser.andExpression(OgnlParser.java:352)
at ognl.OgnlParser.exclusiveOrExpression(OgnlParser.java:299)
at ognl.OgnlParser.inclusiveOrExpression(OgnlParser.java:246)
at ognl.OgnlParser.logicalAndExpression(OgnlParser.java:193)
at ognl.OgnlParser.logicalOrExpression(OgnlParser.java:140)
at ognl.OgnlParser.conditionalTestExpression(OgnlParser.java:101)
at ognl.OgnlParser.assignmentExpression(OgnlParser.java:64)
at ognl.OgnlParser.expression(OgnlParser.java:23)
at ognl.OgnlParser.index(OgnlParser.java:2336)
at ognl.OgnlParser.navigationChain(OgnlParser.java:1331)
at ognl.OgnlParser.unaryExpression(OgnlParser.java:1196)
at ognl.OgnlParser.multiplicativeExpression(OgnlParser.java:971)
at ognl.OgnlParser.additiveExpression(OgnlParser.java:894)
at ognl.OgnlParser.shiftExpression(OgnlParser.java:750)
at ognl.OgnlParser.relationalExpression(OgnlParser.java:508)
at ognl.OgnlParser.equalityExpression(OgnlParser.java:405)
at ognl.OgnlParser.andExpression(OgnlParser.java:352)
at ognl.OgnlParser.exclusiveOrExpression(OgnlParser.java:299)
at ognl.OgnlParser.inclusiveOrExpression(OgnlParser.java:246)
at ognl.OgnlParser.logicalAndExpression(OgnlParser.java:193)
at ognl.OgnlParser.logicalOrExpression(OgnlParser.java:140)
at ognl.OgnlParser.conditionalTestExpression(OgnlParser.java:101)
at ognl.OgnlParser.assignmentExpression(OgnlParser.java:64)
at ognl.OgnlParser.expression(OgnlParser.java:23)
at ognl.OgnlParser.topLevelExpression(OgnlParser.java:15)
at ognl.Ognl.parseExpression(Ognl.java:110)
... 50 more
/-- Encapsulated exception ------------\
ognl.ParseException: Encountered " "]" "] "" at line 1, column 19.
Was expecting one of:
":" ...
"not" ...
"+" ...
"-" ...
"~" ...
"!" ...
"(" ...
"true" ...
"false" ...
"null" ...
"#this" ...
"#root" ...
"#" ...
"[" ...
"{" ...
"@" ...
"new" ...
<IDENT> ...
<DYNAMIC_SUBSCRIPT> ...
"\'" ...
"`" ...
"\"" ...
<INT_LITERAL> ...
<FLT_LITERAL> ...
at ognl.OgnlParser.generateParseException(OgnlParser.java:3172)
at ognl.OgnlParser.jj_consume_token(OgnlParser.java:3051)
at ognl.OgnlParser.unaryExpression(OgnlParser.java:1236)
at ognl.OgnlParser.multiplicativeExpression(OgnlParser.java:971)
at ognl.OgnlParser.additiveExpression(OgnlParser.java:894)
at ognl.OgnlParser.shiftExpression(OgnlParser.java:750)
at ognl.OgnlParser.relationalExpression(OgnlParser.java:508)
at ognl.OgnlParser.equalityExpression(OgnlParser.java:405)
at ognl.OgnlParser.andExpression(OgnlParser.java:352)
at ognl.OgnlParser.exclusiveOrExpression(OgnlParser.java:299)
at ognl.OgnlParser.inclusiveOrExpression(OgnlParser.java:246)
at ognl.OgnlParser.logicalAndExpression(OgnlParser.java:193)
at ognl.OgnlParser.logicalOrExpression(OgnlParser.java:140)
at ognl.OgnlParser.conditionalTestExpression(OgnlParser.java:101)
at ognl.OgnlParser.assignmentExpression(OgnlParser.java:64)
at ognl.OgnlParser.expression(OgnlParser.java:23)
at ognl.OgnlParser.index(OgnlParser.java:2336)
at ognl.OgnlParser.navigationChain(OgnlParser.java:1331)
at ognl.OgnlParser.unaryExpression(OgnlParser.java:1196)
at ognl.OgnlParser.multiplicativeExpression(OgnlParser.java:971)
at ognl.OgnlParser.additiveExpression(OgnlParser.java:894)
at ognl.OgnlParser.shiftExpression(OgnlParser.java:750)
at ognl.OgnlParser.relationalExpression(OgnlParser.java:508)
at ognl.OgnlParser.equalityExpression(OgnlParser.java:405)
at ognl.OgnlParser.andExpression(OgnlParser.java:352)
at ognl.OgnlParser.exclusiveOrExpression(OgnlParser.java:299)
at ognl.OgnlParser.inclusiveOrExpression(OgnlParser.java:246)
at ognl.OgnlParser.logicalAndExpression(OgnlParser.java:193)
at ognl.OgnlParser.logicalOrExpression(OgnlParser.java:140)
at ognl.OgnlParser.conditionalTestExpression(OgnlParser.java:101)
at ognl.OgnlParser.assignmentExpression(OgnlParser.java:64)
at ognl.OgnlParser.expression(OgnlParser.java:23)
at ognl.OgnlParser.topLevelExpression(OgnlParser.java:15)
at ognl.Ognl.parseExpression(Ognl.java:110)
at ognl.Ognl.setValue(Ognl.java:783)
at br.com.caelum.vraptor.http.ognl.OgnlParametersProvider.createViaOgnl(OgnlParametersProvider.java:132)
at br.com.caelum.vraptor.http.ognl.OgnlParametersProvider.createRoot(OgnlParametersProvider.java:108)
at br.com.caelum.vraptor.http.ognl.OgnlParametersProvider.getParametersFor(OgnlParametersProvider.java:90)
at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.getParametersFor(ParametersInstantiatorInterceptor.java:104)
at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:77)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:47)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.simtecnologia.access.controll.impl.AccessInterceptor.intercept(AccessInterceptor.java:110)
at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:47)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.simtecnologia.acesso.AcessoInterceptor.intercept(AcessoInterceptor.java:39)
at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:47)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.caelum.vraptor.util.hibernate.HibernateTransactionInterceptor.intercept(HibernateTransactionInterceptor.java:45)
at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:47)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:46)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.simtecnologia.vraptor.util.FirstInterceptor.intercept(FirstInterceptor.java:64)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
at br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)
at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)
\--------------------------------------/
Minha visao esta assim:
<select name="noticia.editorias[].id" multiple="multiple">
OGNL 2.7.3 e Paranamer 2.2.
No meu controler eu recebo da view assim:
public void persistir(Noticia noticia);
Onde noticia.editoria eh uma lista de Editoria editoria.id e um Integer.
Alguma sugestao ?
Se você tem um noticia.editorias[].id, espera-se que seja um array/list. Portanto seu método deve receber List ou Noticia[], e não simplesmente Noticia.
se existe um Noticia.setEditoriais(List) tb funciona, garcia…
esse erro chega a dar 500 ou só aparece no log?
Na verdade eh um List dentro do Noticia (noticia.editorias[].id)
Humm… me apressei ao informar isto como erro, fiquei sabendo de Lucas (thnks Tomaz Lavieri) que é só um log-> rethrow.
O problema que estava ocorrendo era em outro lugar (ja resolvi).
na verdade é um silenciator mesmo (log de debug -> ignore)
como em produção vc não deveria deixar log de debug ligado, acho que não tem maiores problemas deixar assim
sim, saquei thnx…
a titulo de informacao o problema era que o bean tinha uma propriedade “editorias” que eh um Set, e eu achei q sobrescrevendo o metodo setEditorias(List ) e convertendo a lista para um set dentro dele resolveria, mas o OGNL na verdade usa o getter do editorias para enfiar o select multiple que foi passado da view no bean (noticia.getEditorias().set(X,bla)).
como o getter de editorias voltavam um Set, dava pAu
thnxz
edit: (emoticons oh the hell)
Oops :oops:
Pessoal bom dia como eu faço pra percorrer uma lista de arquivos que vem do input, e exibir cada arquivo em uma linha?
A principio fiz da seguinte forma
<form action="<c:url value="???"/>" enctype="multipart/form-data" method="post">
<input type="file" name="arquivos[]" multiple="multiple"/>
<input type="submit"/>
<c:forEach var="file" items="${ }">
<c:out value="${file}"></c:out>
</c:forEach>
</form><br/>
vlw
vc quer exibir o que de cada arquivo? o nome? link pra download?
tenho um input file que vou faz\er o dowload multiplo, ai vi que ele separa cada url de arquivo por virgula , então eu precisaria percorrer e exibir o nome ou a url de cada arquivo apos a virgula tem que usar o split?
quero exibir o caminho dos arquivos
Assim eu vou precisar selecionar os arquivos pra upload, e exibir um em cada linha
Vc chegou a ver aquele outro topico? era so a versão do commons fileupload!! :shock:
vi sim…
vc quer exibir o caminho dos arquivos na máquina do cara?
faça isso com algum plugin javascript, tipo o jquery uploadfy.
não dá pra fazer isso do lado do servidor (JSP), o caminho do arquivo não vai pra lá, só o nome dele vai (questão de segurança). Ou seja, só dá pra fazer isso via javascript, do lado do cliente.
Entendi… então como eu faço somente pra exibir o nome do arquivo na minha tela ,? porque o upload de um arquivo beleza eu consegui, do mesmo jeito que eu fiz aquele projeto da apostila, a diferença e´que preciso selecionar mais de um para fazer upload de uma vez so!
sem problemas, só receber uma (List arquivos) no controller e usar o .getName() deles.