Struts 2存在问题。
因此,我需要在同一页面的每个提交操作中从数据库中检索数据。 但我不想像它那样检索。 如何在提交操作中维护数据?
<s:form name="XXXXXX" action="XXXXXXXX" method="post">
<div align="right" style="width: 80%">
<display:table name="userSearchForms" pagesize="${pageSize}"
cellpadding="5px;" cellspacing="5px;" requestURI=""
class="displayTable" id="displayTable"
style="border: 3px solid #D9D9D9; border-collapse: collapse; width: 100%;height: 100%;align: right;border: 3px solid #D9D9D9;">
<display:column title="#" style="border:1px solid black;">
<input type="radio" name="prep"
onclick="selectRadio(this.form, '<s:property value="#attr.displayTable.companyId"/>','<s:property value="#attr.displayTable.userId"/>')">
</display:column>
<display:column title="companyName" property="companyName" value="companyName"
style="border:1px solid black;"></display:column>
<display:column title="departmentName" property="departmentName" value="departmentName"
style="border:1px solid black;"></display:column>
<display:column title="userName" property="userName" value="userName"
style="border:1px solid black;"></display:column>
<display:column title="email" property="email" value="email"
style="border:1px solid black;"></display:column>
</display:table>
</div>
<div style="margin-left: 10%; width: 80%; text-align: right;">
<s:submit value="Register" action="OtherAction1"/>
<s:submit value="Update" action="OtherAction2" />
<s:submit value="Delete" action="OtherAction3"/>
</div>
</s:form>
public class sampleAction extends ActionSupport{
private List<searchForm> userSearchForms;
public List<searchForm> getUserSearchForms() {
if (userSearchForms == null) {
userSearchForms = new ArrayList<searchForm>();
}
return userSearchForms;
}
public void setUserSearchForms(List<searchForm> userSearchForms) {
this.userSearchForms = userSearchForms;
}
public String execute(){
// Retrieve the data from database;
// Set to the userSearchForms;
return SUCCESS;
}
public String OtherAction1(){
// Other Program Logic;
return SUCCESS;
}
public String OtherAction2(){
// Other Program Logic;
return SUCCESS;
}
public String OtherAction3(){
// Other Program Logic;
return SUCCESS;
}
}
我需要使用OtherAction1
,OtherAction2
和OtherAction3
方法从数据库中检索数据。
答案 0 :(得分:0)
您必须从数据库中检索数据。这就是Web应用程序的工作方式,它会保留一些数据从内存中卸载。将这样的数据保存在存储器中是昂贵的,因为存储器本身很昂贵并且服务器具有有限的物理存储容量。如果数据依赖于用户正在浏览,则卸载数据变为需求#1,因为在应用程序中同时工作的可能用户的数量可能会有所不同,并且内存需求可能会增加。
提交表单是将用户输入的数据传递给Web应用程序的常用过程。在提交之前,JSP可能会呈现一些数据供用户查看。如果所需数据未加载意味着Web应用程序出现错误,则应解决这些问题。
您应该考虑到使用服务器操作内存非常昂贵。如果您将此类数据保留在会话或应用程序范围内,则数据将保留在操作内存中。您在这些范围中保存的更多数据需要更多内存要求。在设计Web应用程序时请记住这一点。