title: Unexpected Exception caught setting 'xxx' on 'class xxx: Error setting expression 'xxx' with value ['x', ]
body: <p>I'm passing some parameters to an action class implementing <code>ModelDriven&lt;Transporter&gt;</code> through a query-string.</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;s:form namespace="/admin_side" action="Test" id="dataForm" name="dataForm"&gt;
      &lt;s:url id="editURL" action="EditTest" escapeAmp="false"&gt;
          &lt;s:param name="transporterId" value="1"/&gt;
          &lt;s:param name="transporterName" value="'DHL'"/&gt;
      &lt;/s:url&gt;
      &lt;s:a href="%{editURL}"&gt;Click&lt;/s:a&gt;
  &lt;/s:form&gt;
  </code></pre>
  
  <p>The action class is as follows.</p>
  
  <pre class="lang-java prettyprint-override"><code>@Namespace("/admin_side")
  @ResultPath("/WEB-INF/content")
  @ParentPackage(value = "struts-default")
  public final class TestAction extends ActionSupport 
                             implements Serializable, Preparable, ModelDriven&lt;Transporter&gt;
  {
      private static final long serialVersionUID = 1L;
      private Transporter transporter = new Transporter();
  
      @Action(value = "Test",
      results = {
          @Result(name = ActionSupport.SUCCESS, location = "Test.jsp"),
          @Result(name = ActionSupport.INPUT, location = "Test.jsp")},
      interceptorRefs = {
          @InterceptorRef(value = "paramsPrepareParamsStack", 
                   params = {"params.acceptParamNames", "transporterId, transporterName"})})
      public String load() throws Exception {
          return ActionSupport.SUCCESS;
      }
  
      @Action(value = "EditTest",
      results = {
          @Result(name = ActionSupport.SUCCESS, location = "Test.jsp"),
          @Result(name = ActionSupport.INPUT, location = "Test.jsp")},
      interceptorRefs = {
          @InterceptorRef(value = "paramsPrepareParamsStack", 
                   params = {"params.acceptParamNames", "transporterId, transporterName"})})
      public String edit() {
          System.out.println(transporter.getTransporterId() 
                           + " : " + transporter.getTransporterName());
          return ActionSupport.SUCCESS;
      }
  
      @Override
      public Transporter getModel() {
          return transporter;
      }
  
      @Override
      public void prepare() throws Exception {}
  }
  </code></pre>
  
  <p>The server terminal displays the following messages.</p>
  
  <pre class="lang-java prettyprint-override"><code>Jan 09, 2014 4:06:32 PM com.opensymphony.xwork2.interceptor.ParametersInterceptor error
  SEVERE: Developer Notification (set struts.devMode to false to disable this message):
  Unexpected Exception caught setting 'transporterId' on 'class actions.TestAction: Error setting expression 'transporterId' with value ['1', ]
  Jan 09, 2014 4:06:32 PM com.opensymphony.xwork2.interceptor.ParametersInterceptor error
  SEVERE: Developer Notification (set struts.devMode to false to disable this message):
  Unexpected Exception caught setting 'transporterName' on 'class actions.TestAction: Error setting expression 'transporterName' with value ['DHL', ]
  </code></pre>
  
  <p>Even though the log level is <code>SEVERE</code>, the values of these parameters are available in the action class as </p>
  
  <pre class="lang-java prettyprint-override"><code>System.out.println(transporter.getTransporterId() 
                   + " : " + transporter.getTransporterName());
  </code></pre>
  
  <p>in the <code>edit()</code> method.</p>
  
  <p>If <code>paramsPrepareParamsStack</code> is replaced by <code>defaultStack</code> then, these messages disappear.</p>
  
  <p>Expressions like <code>['DHL', ]</code> indicate an array. <code>transporterId</code> and <code>transporterName</code> in the model are, however of type <code>Long</code> and <code>String</code> respectively.</p>
  
  <p>What am I doing wrong?</p>