Problema na hora de criar o formulario

Pessoal, acredito que seja um problema simples, mas não faço ideia de como resolver ja tentei de tudo.

Tenho os seguintes modelos:

Usuarios

[code]package MZSuporte.model;

import java.io.Serializable;
import javax.persistence.*;

@Entity
public class Usuarios implements Serializable {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private String id;
@Column(name = "nome", nullable = false, length = 40)
private String nome;
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@PrimaryKeyJoinColumn
@JoinColumn(name = "area", nullable = false)
private Area area;
@Column(name = "ramal", nullable = true, length = 4)
private String ramal;
@Column(name = "baia", nullable = true, length = 4)
private String baia;    

//getters & setters[/code]

Area

[code]package MZSuporte.model;

import javax.persistence.*;

@Entity
public class Area implements java.io.Serializable {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private String id;

@Column(name = "nome", nullable = false, length = 20)
private String nome;

@Column(name = "area", nullable = true, length = 2)
private Integer area;

// getters & setters[/code]

e o seguinte jsp com o formulario para criar um novo usuario

[code]<%@page contentType=“text/html” pageEncoding=“UTF-8”%>
<%@ taglib uri=“http://jakarta.apache.org/struts/tags-html” prefix=“html” %>
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>

html:html


MZ TI - Suporte


Novo Usuario


<html:form action=“altUser.do” focus=“user.nome”>

















Nome: <html:text value="${user.nome}" property=“user.nome” size=“32”/>
Area: <html:select property=“user.area.id”>
<c:forEach var=“narea” items="${narea}">
<html:option value="${narea.id}">${narea.nome}</html:option>
</c:forEach>
</html:select>
Ramal: <html:text size=“3” value="${user.ramal}" property=“user.ramal”/><html:errors property=""/>
Baia: <html:text size=“2” value="${user.baia}" property=“user.baia”/>

<html:hidden value="${createuser.acao}" property=“acao”/>
<html:hidden value="${user.id}" property=“user.id”/>
<html:submit value=“Cadastrar” property=“btenviar”/>
</html:form>



html:errors/



</html:html>[/code]

Antes no meu modelo usuarios a area era apenas uma string esse trecho funcionava perfeitamente:

<td><html:select property="user.area"> <c:forEach var="narea" items="${narea}"> <html:option value="${narea.id}">${narea.nome}</html:option> </c:forEach> </html:select></td>

Agora que a area eh um outro objeto tento popular mudando o property para “user.area.id” e ele não aceita, quando acessa a pagina ele retorna JasperException e como root cause org.apache.commons.beanutils.NestedNullException: Null property value for ‘area.id’ on bean class ‘class MZSuporte.model.Usuarios’.

Segue o erro completo:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /admin/new/newUser.jsp at line 20

17:
18:


19: Area:
20: <html:select property=“user.area.id”>
21: <c:forEach var=“narea” items="${narea}">
22: <html:option value="${narea.id}">${narea.nome}</html:option>
23: </c:forEach>

Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:318)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

root cause

org.apache.commons.beanutils.NestedNullException: Null property value for ‘area.id’ on bean class ‘class MZSuporte.model.Usuarios’
org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:747)
org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:837)
org.apache.commons.beanutils.BeanUtilsBean.getArrayProperty(BeanUtilsBean.java:542)
org.apache.commons.beanutils.BeanUtils.getArrayProperty(BeanUtils.java:211)
org.apache.struts.taglib.html.SelectTag.calculateMatchValues(SelectTag.java:248)
org.apache.struts.taglib.html.SelectTag.doStartTag(SelectTag.java:200)
org.apache.jsp.admin.new_.newUser_jsp.jspx_meth_html_005fselect_005f0(newUser_jsp.java:253)
org.apache.jsp.admin.new
.newUser_jsp.jspx_meth_html_005fform_005f0(newUser_jsp.java:173)
org.apache.jsp.admin.new
.newUser_jsp.jspx_meth_html_005fhtml_005f0(newUser_jsp.java:121)
org.apache.jsp.admin.new
.newUser_jsp._jspService(newUser_jsp.java:88)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:318)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390).

Como eu devo referenciar a area nesse caso??

Obrigado

Att,

Vinicius Roberto