实际上我正在为类创建一个对象(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方法
中的同一个对象赋予null值 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;
}
在提交后再次加载页面时,是否可以重新调用同一个对象。
答案 0 :(得分:0)
我解决了这个问题,只是应用程序中的两个熟悉的页面,第一次调用一个(jsp)实际上包含这个特定的编码
<% CallClass obj = new CallClass();
UpdateRead upobj = new UpdateRead(); %>
在提交表单时,它将指向我已实例化的动作类,通过它我们可以避免在另一个jsp中使用上述编码
流程将继续在浏览器中显示第二个jsp,执行流程也不会中断