You may have a look to the display tag lib who provide an
really easy to use purpose for your use case.

I show you an sample code I use in my view I got :

<%@ page session="true" %>
<%@ page import="org.apache.taglibs.display.test.TestList,
                 org.apache.taglibs.display.test.ListHolder,
                 java.util.List"%>
<%@ taglib uri="http://jakarta.apache.org/taglibs/display" prefix="display"
%>
<%@ taglib uri="/WEB-INF/struts-menu.tld" prefix="menu"%>

<html>
    <head>
    </head>

<body>
  <script language="JavaScript1.2" src="./scripts/coolmenus3.js">
  </script>
  <script src="./scripts/coolmenu-config.js">
</script>

<menu:useMenuDisplayer name="CoolMenu"
bundle="org.apache.struts.action.MESSAGE">
    <menu:displayMenu name="ToDoListMenuFile"/>
    <menu:displayMenu name="ToDoListMenuEdit"/>
    <menu:displayMenu name="CaseDetailMenuCase"/>
</menu:useMenuDisplayer>
<p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

<display:table width="85%"align="left"
              name="students"
              scope="session"
              pagesize="5"
              requestURI="/ibmss/form/viewstudent.jsp"
              export="true"
              decorator="org.apache.taglibs.display.test.Wrapper">

  <display:column property="idPersonne"
                  title="ID"
                  href="/ibmss/getstudent.do"
                  paramId="idPersonne"
                  paramProperty="idPersonne"  />
  <display:column property="name" title="Nom"/>
  <display:column property="firstName" title="Prenom"/>
  <display:column property="adress" title="Adresse"/>
  <display:column property="city" title="Ville"/>
  <display:column property="npa" title="Npa"/>
  <display:column property="phoneNumber" title="Telephone"/>
  <display:column property="email" title="Email" autolink="true"/>
  <display:column property="insuranceName" title="Assurance"/>
  <display:column property="insuranceNumber" title="No assure"/>
  <display:column property="formationSelected" title="Formation"/>
  <display:column property="group" title="Groupe"/>
</display:table>

</body>
</html>

My getstudent action :

// Created by Xslt generator for Eclipse.

// XSL : not found (java.io.FileNotFoundException: (Le chemin d'acces
specifie est introuvable))

// Default XSL used : easystruts.jar$org.easystruts.xslgen.JavaClass.xsl

package soft.ibmss.struts.action;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import soft.ibmss.struts.form.StudentForm;

import org.apache.struts.Globals;

public class GetstudentAction extends Action {

public ActionForward execute(

ActionMapping mapping,

ActionForm form,

HttpServletRequest request,

HttpServletResponse response)

throws Exception {


try {

form = buildStudent(request.getParameter("idPersonne"));

if (form == null) {

System.out.println ("form nulle");

}

if ("request".equals(mapping.getScope() )) {

request.setAttribute(mapping.getAttribute(), form);

}

else {

HttpSession session = request.getSession();

session.setAttribute(mapping.getAttribute(), form);

}

}

catch (Exception ex) {

System.out.println(ex.getMessage());

}

return mapping.findForward("success");

}

public ActionForm buildStudent (String name) throws Exception {


Student student = Student.getStudent (name);

form = new StudentForm ();

form.setIdPersonne (student.getName ());

form.setIdPersonne(student.getIdPerson ());

form.setName(rs.getString ("nom"));

........

return form;


}



I added in my struts-config :



<action

attribute="studentForm"

name="studentForm"

path="/getstudent"

scope="request"

type="soft.ibmss.struts.action.GetstudentAction"

validate="false">

<set-property property="secure" value="false" />

<forward name="success" path="/form/editstudent.jsp" />

</action>

Then I define an editstudent action to retrieve the updated data from

the editstudent view page.

--

Alexandre Jaquet

----- Original Message -----
From: "Karl" <[EMAIL PROTECTED]>
To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
Sent: Wednesday, March 05, 2003 3:43 AM
Subject: Re: Design issue: forms and iterations on the same page


Oops, just realized I used my mock-up page.  The part showing the list of
administrators will of course use an iterate tag =)


2003 3月 5 水曜日 11:39、Karl さんは書きました:
> I'm trying to figure out a good design strategy for building a page that
> allows viewing, adding, editing, and deleting of administrators.
>
> At the top of the page I have the form itself:
>
>             <html:form action="screen_manage_administrators.do"
> name="AdministratorUserForm"
> type="com.somewhere.aproject.AdministratorUserForm">
>                 <table>
>                     <tr>
>                         <th>Name</th>
>                         <td>
>                             <html:text property="userName"  maxlength="16"
> size="16"/>
>                         </td>
>                     </tr>
>                     <tr>
>                         <th>Password</th>
>                         <td>
>                             <html:password property="password"
> maxlength="8" size="8"/>
>                         </td>
>                     </tr>
>                     <tr>
>                         <td>
>                             <html:submit value="Set"/>
>                         </td>
>                     </tr>
>                 </table>
>             </html:form>
>
> Under that I want a list of existing administrators (there will probabl
> only be 5-10 admins, and definitely not more than 20):
>
>             <table>
>                 <tr>
>                     <th>Name</th>
>                 </tr>
>                 <tr>
>                     <td>
>                         me
>                     </td>
>                     <td>
>                         <html:link
> href="screen_manage_administrators.do?num=0">Edit</html:link>&nbsp;
>                         <html:link
> href="do_administrator_remove.do?num=0">Delete</html:link>
>                     </td>
>                 </tr>
>                 <tr>
>                     <td>
>                         myself
>                     </td>
>                     <td>
>                         <html:link
> href="screen_manage_administrators.do?num=1">Edit</html:link>&nbsp;
>                         <html:link
> href="do_administrator_remove.do?num=1">Delete</html:link>
>                     </td>
>                 </tr>
>             </table>
>
>
> If you enter in data that does not match an existing administrator name
and
> submit it, it adds the administrator.
> If you click on the "edit" link of one of the administrators, it puts that
> admin's details into the edit form.
> If the administrator name matches an existing name, the data is updated.
> If you click on delete, it will ask confirmation and then delete the
entry.
>
>
> My first question is:  Is it a good idea to be placing all of this
> functionality in one page, or should I be spreading it to other pages?
>
> My second question is: How would I implement such a layout in struts?
> I can associate a UserForm object with the form, but how would I interpret
> which administrator data to load into the edit form (via the argument
> "num")? Should I be making a separate form object to provide the list of
> administrators and then iterate over that list?  If so, how do I access 2
> different ActionForms within the same page?
> Would I be better off making an ActionForm that contains all of the data
> for the edit form as well as the collection of administrator data?
>
>
> Cheers!
>
> Karl
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to