You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by simistef <si...@gmail.com> on 2007/02/03 08:58:56 UTC
Blank Struts page after submit
Hi !
I am learning to work with struts, after i click on submit button (in a
form) i get a blank page. This thing is annoying me because i can't find the
solution for a week !
The page has 2 hmtl list option. The first list loads info about a company
compartiments, and after hitting "Refresh Employees", the second list should
shouw data about all the employees from the selected department.
What is happening ? After hitting "Refresh Employees" i get a blank
selectAngajat.do page. If i go Back and Refresh(F5) the second list option
shows all the employees from that department.
Does anyone have any idea about this ? I posted some code down:
PersonalBody.jsp
[code]
<%@ page import="databeans.*"%>
<%@ page import="java.sql.Connection"%>
<jsp:useBean id="ss_PersSelected" class="databeans.CompartPersSelectedBean"
scope="session"/>
<html:form action="/selectAngajat.do">
<table width="600" border="1">
<tr>
<td width="174">Selectati un Compartiment:</td>
<td width="213">
<html:select property="compartid">
<%
Connection conn=Utilitati.getConexiune();
java.util.ArrayList listaCompartimente=
ObiectPersistent.getObjects(Compartimente.class,conn,null);
conn.close();
for(int i=0;i<listaCompartimente.size();i++) {
%>
<html:option
value="<%=((Compartimente)listaCompartimente.get(i)).getCompartid()%>">
<%=((Compartimente)listaCompartimente.get(i)).getNumecompart()%>
</html:option>
<%}%> <%-- s-a inchis for-ul--%>
</html:select>
</td>
<td width="191">
<input type="submit" name="Submit" value="Refresh Employees">
</td>
</tr>
<tr>
<td width="174">Selectati Angajatul:</td>
<td width="213">
<html:select property="marcaselectata">
<% Connection conn=Utilitati.getConexiune();
if (ss_PersSelected.getCompartid() != null) //exista un compartiment
selectat
{ java.util.ArrayList listaAngajati =
ObiectPersistent.getObjects(Personal.class,conn,
" where compartid='"+ss_PersSelected.getCompartid()+"' ");
conn.close();
for(int i=0;i<listaAngajati.size();i++){%>
<html:option
value="<%=((Personal)listaAngajati.get(i)).getMarca().toString()%>">
<%=((Personal)listaAngajati.get(i)).getNumepren()%>
</html:option>
<%}}%> <%-- inchidem FOR si IF --%>
</html:select>
</td>
<td width=" 191 ">
<input type="submit" name="Submit2" value="Show Employee">
</td>
</tr>
</table>
</html:form>
<%if (request.getSession().getAttribute("ss_DatePers") != null){%>
<tiles:insert page="/tiles/bodys/DateAngajatBody.jsp"/> <%}
else if (ss_PersSelected.getCompartid() != null){%>
<html:form action="/dateAngajat.do">
<html:hidden property="actiune" value="newObject"/>
<html:submit property="add" value="Angajat Nou" />
</html:form>
<%}%>
[/code]
struts-config.xml
[code]
<struts-config>
<form-beans>
<form-bean name="loginBean" type="databeans.LoginExistingUserForm"/>
<form-bean name="ss_PersSelected"
type="databeans.CompartPersSelectedBean"/>
<form-bean name="ss_DatePers" type="databeans.Personal"/>
</form-beans>
<action-mappings>
<action path="/selectAngajat" type="formactions.SelectAngajatAction"
name="ss_PersSelected" input="/tiles/bodys/PersonalBody.jsp"
scope="session">
<forward name="succes" path="/pages/DatePersonal.jsp" redirect="true"/>
</action>
</action-mappings>
</struts-config>
[/code]
SelectAngajatAction.class
[code]
package formactions;
import databeans.CompartPersSelectedBean;
import databeans.ObiectPersistent;
import databeans.Personal;
import databeans.Utilitati;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class SelectAngajatAction extends Action {
public ActionForward perform(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws
IOException,
ServletException {
CompartPersSelectedBean formBean = (CompartPersSelectedBean)form;
java.sql.Connection conn = null;
if (formBean.getMarcaselectata() != null &&
formBean.getMarcaselectata().intValue() != -1)
try { // incarc in sesiune obiectul Personal corespunzator
marcii selectate de utilizator
conn = Utilitati.getConexiune();
Personal objPersCurent =
(Personal)ObiectPersistent.getObjects(Personal.class,
conn,
"where marca=" +
formBean.getMarcaselectata().toString()).get(0);
// ATENTIE! Identificatorul atributului trebuie sl fie cel
definit in Struts-Contig.xml
request.getSession().setAttribute("ss_DatePers",
objPersCurent);
conn.close();
} catch (Exception e) {
e.printStackTrace();
if (conn != null)
try {
conn.close();
} catch (Exception err) {
err.printStackTrace();
}
return mapping.findForward("eroareBD");
}
else // daca marca e null elimin eventualul atribut ss_DatePers
anterior
request.getSession().removeAttribute("ss_DatePers");
return mapping.findForward("success");
}
}
[/code]
--
View this message in context: http://www.nabble.com/Blank-Struts-page-after-submit-tf3165086.html#a8780209
Sent from the Struts - Dev mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org
Re: Blank Struts page after submit
Posted by Laurie Harper <la...@holoweb.net>.
Please post questions like this to the users list rather than the devel
list; this list is for discussion of the development of Struts itself.
Also, you should include your relevant config (form bean definitions and
action mappings, etc.) and, if possible, simplify the code down as much
as possible so it's easier for people to concentrate on the relevant bits.
L.
simistef wrote:
> Hi !
>
> I am learning to work with struts, after i click on submit button (in a
> form) i get a blank page. This thing is annoying me because i can't find the
> solution for a week !
>
> The page has 2 hmtl list option. The first list loads info about a company
> compartiments, and after hitting "Refresh Employees", the second list should
> shouw data about all the employees from the selected department.
>
> What is happening ? After hitting "Refresh Employees" i get a blank
> selectAngajat.do page. If i go Back and Refresh(F5) the second list option
> shows all the employees from that department.
>
> Does anyone have any idea about this ? I posted some code down:
>
> PersonalBody.jsp
> [code]
> <%@ page import="databeans.*"%>
> <%@ page import="java.sql.Connection"%>
> <jsp:useBean id="ss_PersSelected" class="databeans.CompartPersSelectedBean"
> scope="session"/>
> <html:form action="/selectAngajat.do">
> <table width="600" border="1">
> <tr>
> <td width="174">Selectati un Compartiment:</td>
> <td width="213">
> <html:select property="compartid">
> <%
> Connection conn=Utilitati.getConexiune();
> java.util.ArrayList listaCompartimente=
> ObiectPersistent.getObjects(Compartimente.class,conn,null);
> conn.close();
> for(int i=0;i<listaCompartimente.size();i++) {
> %>
> <html:option
> value="<%=((Compartimente)listaCompartimente.get(i)).getCompartid()%>">
> <%=((Compartimente)listaCompartimente.get(i)).getNumecompart()%>
> </html:option>
> <%}%> <%-- s-a inchis for-ul--%>
> </html:select>
>
> </td>
> <td width="191">
> <input type="submit" name="Submit" value="Refresh Employees">
> </td>
> </tr>
> <tr>
> <td width="174">Selectati Angajatul:</td>
> <td width="213">
> <html:select property="marcaselectata">
> <% Connection conn=Utilitati.getConexiune();
> if (ss_PersSelected.getCompartid() != null) //exista un compartiment
> selectat
> { java.util.ArrayList listaAngajati =
> ObiectPersistent.getObjects(Personal.class,conn,
> " where compartid='"+ss_PersSelected.getCompartid()+"' ");
> conn.close();
> for(int i=0;i<listaAngajati.size();i++){%>
> <html:option
> value="<%=((Personal)listaAngajati.get(i)).getMarca().toString()%>">
> <%=((Personal)listaAngajati.get(i)).getNumepren()%>
> </html:option>
> <%}}%> <%-- inchidem FOR si IF --%>
> </html:select>
> </td>
> <td width=" 191 ">
> <input type="submit" name="Submit2" value="Show Employee">
> </td>
> </tr>
> </table>
>
> </html:form>
>
> <%if (request.getSession().getAttribute("ss_DatePers") != null){%>
> <tiles:insert page="/tiles/bodys/DateAngajatBody.jsp"/> <%}
> else if (ss_PersSelected.getCompartid() != null){%>
> <html:form action="/dateAngajat.do">
> <html:hidden property="actiune" value="newObject"/>
> <html:submit property="add" value="Angajat Nou" />
> </html:form>
> <%}%>
> [/code]
>
> struts-config.xml
> [code]
> <struts-config>
>
> <form-beans>
> <form-bean name="loginBean" type="databeans.LoginExistingUserForm"/>
> <form-bean name="ss_PersSelected"
> type="databeans.CompartPersSelectedBean"/>
> <form-bean name="ss_DatePers" type="databeans.Personal"/>
> </form-beans>
>
> <action-mappings>
> <action path="/selectAngajat" type="formactions.SelectAngajatAction"
> name="ss_PersSelected" input="/tiles/bodys/PersonalBody.jsp"
> scope="session">
> <forward name="succes" path="/pages/DatePersonal.jsp" redirect="true"/>
> </action>
> </action-mappings>
> </struts-config>
> [/code]
>
> SelectAngajatAction.class
> [code]
> package formactions;
>
> import databeans.CompartPersSelectedBean;
>
> import databeans.ObiectPersistent;
> import databeans.Personal;
> import databeans.Utilitati;
>
> import java.io.IOException;
>
> import javax.servlet.ServletException;
> import javax.servlet.http.HttpServletRequest;
>
> import javax.servlet.http.HttpServletResponse;
>
> import org.apache.struts.action.Action;
> import org.apache.struts.action.ActionForm;
> import org.apache.struts.action.ActionForward;
> import org.apache.struts.action.ActionMapping;
>
> public class SelectAngajatAction extends Action {
>
> public ActionForward perform(ActionMapping mapping, ActionForm form,
> HttpServletRequest request,
> HttpServletResponse response) throws
> IOException,
>
> ServletException {
> CompartPersSelectedBean formBean = (CompartPersSelectedBean)form;
> java.sql.Connection conn = null;
>
> if (formBean.getMarcaselectata() != null &&
> formBean.getMarcaselectata().intValue() != -1)
> try { // incarc in sesiune obiectul Personal corespunzator
> marcii selectate de utilizator
> conn = Utilitati.getConexiune();
> Personal objPersCurent =
> (Personal)ObiectPersistent.getObjects(Personal.class,
> conn,
> "where marca=" +
>
> formBean.getMarcaselectata().toString()).get(0);
> // ATENTIE! Identificatorul atributului trebuie sl fie cel
> definit in Struts-Contig.xml
> request.getSession().setAttribute("ss_DatePers",
> objPersCurent);
>
>
> conn.close();
>
> } catch (Exception e) {
> e.printStackTrace();
> if (conn != null)
> try {
> conn.close();
> } catch (Exception err) {
> err.printStackTrace();
> }
> return mapping.findForward("eroareBD");
> }
> else // daca marca e null elimin eventualul atribut ss_DatePers
> anterior
> request.getSession().removeAttribute("ss_DatePers");
>
> return mapping.findForward("success");
> }
> }
> [/code]
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org