Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Blank Struts page after submit

Status
Not open for further replies.

simistef

Programmer
Feb 2, 2007
1
RO
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>
<%}%>

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>

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");
    }
}
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top