【问题标题】:Reinvoke the instance when the page is Loaded in JSP在 JSP 中加载页面时重新调用实例
【发布时间】:2014-02-26 22:22:12
【问题描述】:

实际上,我正在为一个类(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;
        }

提交后页面再次加载时是否可以重新调用相同的对象。

【问题讨论】:

  • 和这个概念差不多,但我在 WebApplication 中尝试stackoverflow.com/questions/16359662/…
  • 再次为该类创建一个新实例并重定向到同一页面
  • 不要使用小脚本。曾经。 stackoverflow.com/questions/3177733/…
  • 问题不清楚,没有代码。但有一点是肯定的,让一个页面处理每个操作都带有一堆 if 是一个坏主意。
  • 我已经添加了 sn-ps。为了让问题更清楚,我已经提到了与我的案例相关的 url-(我的第一条评论)但我期待在 Web 应用程序中

标签: java jsp


【解决方案1】:

我解决了这个问题,只是通过应用程序中的两个类似页面,一个(jsp)将第一次被调用,它实际上包含这个特定的编码

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

并且在提交表单时,它会被定向到我已经实例化的动作类,通过它我们可以避免在另一个jsp中使用上述编码

流程将通过在浏览器中呈现第二个jsp来继续,执行流程也不会中断

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-26
    • 2012-06-15
    • 2020-01-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    相关资源
    最近更新 更多