Pre-Populate a Form that nested tags

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Glen

    Pre-Populate a Form that nested tags

    I have a Struts action form which contains a bean. I am trying to
    display a bean retrieved from the database in this form using the
    nested tag. Can anyone help me? I continue to get an error message
    see end for stack trace.

    Struts config
    <form-bean name="newBean" type="com.NewFo rm" />
    ......
    <action path="/new-action" type="com.NewAc tion"
    name="newBean" scope="session" >
    <forward name="blah" path="/New.jsp"/>
    </action>

    Bean
    public class Program implements Serializable {

    private int prg_pk;
    private String prg_prog_name = null;
    private Set courses;

    getters()/setters()


    Form
    public class NewForm extends ActionForm {

    private Program program;

    /**
    * Returns the program.
    * @return Program
    */
    public Program getTheProgram() {
    return program;
    }

    /**
    * Sets the program.
    * @param program The program to set
    */
    public void setTheProgram(P rogram program) {
    this.program = program;
    }

    public void reset(ActionMap ping mapping, HttpServletRequ est
    request) {

    HttpSession session = request.getSess ion();
    setTheProgram(( Program) session.getAttr ibute("PROGRAM" ));

    }

    }


    JSP
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>

    <nested:form action="/new-action.do">
    <nested:nest property="progr am" >
    <nested:write property="prg_p rog_name"/>
    </nested:nest>


    </nested:form>


    Stack Trace
    java.lang.NullP ointerException
    at java.util.Hasht able.get(Hashta ble.java:315)
    at org.apache.jasp er.runtime.Page ContextImpl.fin dAttribute(Page ContextImpl.jav a:303)
    at org.apache.stru ts.util.Request Utils.lookup(Re questUtils.java :663)
    at org.apache.stru ts.util.Request Utils.lookup(Re questUtils.java :710)
    at org.apache.stru ts.taglib.bean. WriteTag.doStar tTag(WriteTag.j ava:290)
    at org.apache.stru ts.taglib.neste d.bean.NestedWr iteTag.doStartT ag(Unknown
    Source)
    at org.apache.jsp. New$jsp._jspSer vice(New$jsp.ja va:114)
    at org.apache.jasp er.runtime.Http JspBase.service (HttpJspBase.ja va:107)
    at javax.servlet.h ttp.HttpServlet .service(HttpSe rvlet.java:853)
    at org.apache.jasp er.servlet.JspS ervlet$JspServl etWrapper.servi ce(JspServlet.j ava:201)
    at org.apache.jasp er.servlet.JspS ervlet.serviceJ spFile(JspServl et.java:381)
    at org.apache.jasp er.servlet.JspS ervlet.service( JspServlet.java :473)
    at javax.servlet.h ttp.HttpServlet .service(HttpSe rvlet.java:853)
    at org.apache.cata lina.core.Appli cationFilterCha in.internalDoFi lter(Applicatio nFilterChain.ja va:247)
    at org.apache.cata lina.core.Appli cationFilterCha in.doFilter(App licationFilterC hain.java:193)
    at org.apache.cata lina.core.Stand ardWrapperValve .invoke(Standar dWrapperValve.j ava:243)
    at org.apache.cata lina.core.Stand ardPipeline.inv okeNext(Standar dPipeline.java: 566)
    at org.apache.cata lina.core.Stand ardPipeline.inv oke(StandardPip eline.java:472)
    at org.apache.cata lina.core.Conta inerBase.invoke (ContainerBase. java:943)
    at org.apache.cata lina.core.Stand ardContextValve .invoke(Standar dContextValve.j ava:190)
    at org.apache.cata lina.core.Stand ardPipeline.inv okeNext(Standar dPipeline.java: 566)
    at org.apache.cata lina.core.Stand ardPipeline.inv oke(StandardPip eline.java:472)
    at org.apache.cata lina.core.Conta inerBase.invoke (ContainerBase. java:943)
    at org.apache.cata lina.core.Stand ardContext.invo ke(StandardCont ext.java:2347)
    at org.apache.cata lina.core.Stand ardHostValve.in voke(StandardHo stValve.java:18 0)
    at org.apache.cata lina.core.Stand ardPipeline.inv okeNext(Standar dPipeline.java: 566)
    at org.apache.cata lina.valves.Err orDispatcherVal ve.invoke(Error DispatcherValve .java:170)
    at org.apache.cata lina.core.Stand ardPipeline.inv okeNext(Standar dPipeline.java: 564)
    at org.apache.cata lina.valves.Err orReportValve.i nvoke(ErrorRepo rtValve.java:17 0)
    at org.apache.cata lina.core.Stand ardPipeline.inv okeNext(Standar dPipeline.java: 564)
    at org.apache.cata lina.valves.Acc essLogValve.inv oke(AccessLogVa lve.java:468)
    at org.apache.cata lina.core.Stand ardPipeline.inv okeNext(Standar dPipeline.java: 564)
    at org.apache.cata lina.core.Stand ardPipeline.inv oke(StandardPip eline.java:472)
    at org.apache.cata lina.core.Conta inerBase.invoke (ContainerBase. java:943)
    at org.apache.cata lina.core.Stand ardEngineValve. invoke(Standard EngineValve.jav a:174)
    at org.apache.cata lina.core.Stand ardPipeline.inv okeNext(Standar dPipeline.java: 566)
    at org.apache.cata lina.core.Stand ardPipeline.inv oke(StandardPip eline.java:472)
    at org.apache.cata lina.core.Conta inerBase.invoke (ContainerBase. java:943)
    at org.apache.cata lina.connector. http.HttpProces sor.process(Htt pProcessor.java :1027)
    at org.apache.cata lina.connector. http.HttpProces sor.run(HttpPro cessor.java:112 5)
    at java.lang.Threa d.run(Thread.ja va:479)
Working...