Ciao a tutti,

ho un problema .
Ho una pagina dove faccio visualizzare un lista e per ogni nome c'è un link che mi porta ad una altra pagina.Questo link contiene l'id del nome cliccato .
Il problema sta che quando clicco su questo link mi va in errore e nella console mi scrive

GRAVE: ParametersInterceptor - [setParameters]: Unexpected Exception caught setting 'id' on 'class net.roseindia.Utente: Error setting expression 'id' with value '[Ljava.lang.String;@bfed5a'
24-giu-2011 12.12.08 org.apache.struts2.components.Form evaluateExtraParamsServletRequest

Qua sotto vi metto le pagine (nella parte java ho tolto i metodi get e set delle variabili )

Spero che qualcuno mi possa aiutare


strust.xml
codice:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<constant name="struts.enable.DynamicMethodInvocation" value="false" />
	<constant name="struts.devMode" value="true" />
	<include file="struts-default.xml"/>  

  
<package name="default" namespace="/" extends="struts-default">
  <action name="Utentess"  class="net.roseindia.Utente">
  	<result name="input">/insertData.jsp</result>
  	<result name="SUCCESS" >/insertSucces.jsp</result> 
 </action>
  
  <action name="add" method="add" class="net.roseindia.Utente">
  	<result name="input">/insertData.jsp</result>
  	<result name="SUCCESS" >/insertSucces.jsp</result> 
  </action>
  
  <action name="vis" method="vis" class="net.roseindia.Utente" >
  <result name="input">/insertData.jsp</result>
	<result name="SUCCESS">/visualizza.jsp</result>
  </action>
  
   <action name="editUser" method="edit" class="net.roseindia.Utente"  >
       
   <result name="input">/insertData.jsp</result>
	<result name="SUCCESS">/insertData.jsp</result>
  </action>
	  
  </package>
visualizza.jsp


codice:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@taglib uri="/struts-tags" prefix="logic" %>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>Lista Utenti</h1>


	<table border="3px">
		<tr>
			<td>Id</td>
			<td>Username</td>
			<td>Password</td> 
		</tr>
	
	<s:iterator value="Mylist2"> 
		<tr>
			<td><s:property value="id" /></td>
			<td><s:property value="username" /></td>
			<td><s:property value="password" /></td>
			<s:set name="id" value="#id"></s:set>
			<td><s:url id="editUtente" action="editUser"><s:param name="id" value="id"></s:param></s:url><s:a href="%{editUtente}">edit</s:a></td>
		</tr>
	</s:iterator>
	
	</table>

</body>
</html>
Utente.java
codice:

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;


public class Utente extends ActionSupport  {
	
	private int id;
	private String username;
	private String password;
	private String profilo;
	private ArrayList<String> myList ;
	private ResultSet myList2 ;
	private ArrayList<Profilo> listaprofili ; 
	private Connessione con = new Connessione();
	private	Connection c = null;
	private Statement stmt= null;
	
	
	public Utente() throws Exception {
		
		c = con.getCon();
		stmt=c.createStatement();
		this.myList2 = lista(stmt);
		System.out.println("Utente!!!!!!!");
		listaprofili = new ArrayList<Profilo>();
		Profilo p = null;
		p = new Profilo("1","ADMIN");
		listaprofili.add(p);
		p = new Profilo("2","DIP");
		listaprofili.add(p);
	}
	
	public Utente (int i,String n, String p) throws Exception {
		this.id = i ;
		this.username = n ;
		this.password = p ;
	}
	
	
	
	public String execute(){
		System.out.println("excutee!!!!!!!");
		return "SUCCESS";
	}
	
	public String add() throws Exception{
		System.out.println("metodo add!!!!!!!");
		try{
		
		  c = con.getCon();
		  stmt=c.createStatement();
		   
		 
		  if (username.equals("daniele")){
			  addActionError("errororororor");
			  return "input";
			  
		  }else{
			  
			  stmt.executeUpdate("INSERT INTO  utenti (nome,password) VALUES('"+getUsername()+"','"+getPassword()+"')");
			  //this.myList2 = lista(stmt);
			  
			  return "SUCCESS";
		  }
		}catch(Exception e){
			  System.out.println("Eccezione : "+e.getMessage());
		  }
		
		return "SUCCESS";
	
	}
	
	public String vis() throws Exception{
		
		
		try{
		System.out.println("visualizza!!!!!!!");
		
		  c = con.getCon();
		  stmt=c.createStatement();
		this.myList2 = lista(stmt);
		}catch (Exception e){
			  System.out.println("Eccezione : "+e.getMessage());
		  }
		return "SUCCESS";
	}
	
	public String edit(){
		System.out.println("edit!!!!!!!");
//        HttpServletRequest request = (HttpServletRequest)ActionContext.getContext().get( ServletActionContext.HTTP_REQUEST);
//        String user = request.getParameter("id");
//        
//        Map parameters = ActionContext.getContext().getParameters();
//        System.out.println(parameters.get(request.getParameter(user)));
		//HttpServletRequest request;
		

		
		
		
		
		this.id = 1;
		this.username = "pippo";
		this.password = "pippo";
		return "SUCCESS";
	}
	
	
	
	
	
 
		  public ArrayList<Utente> getMylist2() throws Exception{
			
			  ArrayList<Utente> lista = new ArrayList<Utente>();
			  
			  System.out.println("Get Mylist2!!!!!!");
			  try{
			  while(this.myList2.next()){
				 Utente u = new Utente(this.myList2.getInt("id"),this.myList2.getString("nome"),this.myList2.getString("password"));
				   
				  lista.add(u);
			  }
			  }catch(Exception e){
				  System.out.println(e.getMessage());
			  }
			  return lista;
		  }


}