重新调用页面加载在JSP中的实例



实际上,我正在创建一个类(JSP中的scriptlets)的对象,以在第一次加载JSP时运行该类中的方法。稍后,我将填写字段,一旦单击提交按钮,数据将存储在数据库中,我将重定向相同的网页以进行下一个条目。

index.jsp

    <%
            CallClass obj = new CallClass();
            UpdateRead upobj = new UpdateRead();
        %>
<s:form action=entry>
<s:submit name="submit" value="Submit"/>
</form>

struts.xml

   <action name="entry" class="Com.PurchaseEntry" method="getData">
                <result>index.jsp</result>
    </action>

将条目插入数据库后,它将其重定向到同一index.jsp。

但是,当加载同一页面时,它给出了创建的实例(CallClass和updateread)的例外,创建的参考不会被无效!是否可以在Struts Action方法中给出相同对象的零值

    public String getData(){
            try{
                String sql ="insert into database";
                st=ob.statementmeth();
                boolean b=st.execute(sql);
CallClass obj=null;//Do this assignment affects the index.jsp page's created instance
UpdateRead upobj =null;//Do this assignment affects the index.jsp page's created instance
               }
           catch(Exception e){
                System.out.println("Exception in inserting the data "+e.getMessage());
            }
            return SUCCESS;
        }

在提交后再次加载页面时,可以重新启动相同的对象。

我解决了这个问题,仅在应用程序中的两个smiliar页面上,将首次调用一个(JSP),实际上包含此特定编码

<% CallClass obj = new CallClass();
    UpdateRead upobj = new UpdateRead(); %>

并且在提交表单时,它将指向我已经实例化的动作类,我们可以避免在另一个JSP

中使用上述编码

流程将继续在浏览器中呈现第二个JSP,执行流也不会发生折断

最新更新