You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Simion Ursache <si...@gmail.com> on 2007/02/05 11:13:24 UTC
problem in Struts
Hi there. I have the following JSP page which i am populating it through a
JTable kind of class.
This is populating the page in a tabelar mode, and can be controlled by the
number of line and number of column.
JSP page:
<%@ page import="databeans.*"%>
<%@ page import="java.sql.Connection"%>
<jsp:useBean id="ss_DatePers" class="databeans.Personal" scope="session"/>
<%! ModelJTableGeneralizat modelDate=null;%>
<%
// initializez modelul de date cu pontajul angajatului curent selectat
Connection conn=Utilitati.getConexiune();
String filtruDate=" where marca="+ss_DatePers.getMarca()+" and
to_char(data,'mm')='"+request.getParameter("luna")+"' order by data";
java.util.ArrayList datePontaj = ObiectPersistent.getObjects(Pontaje.class
,conn,filtruDate);
modelDate = new ModelJTableGeneralizat(Pontaje.class,datePontaj,conn);
conn.close();
request.getSession().setAttribute("ss_ModelDatePontaje",modelDate);
%>
<html:form action="/pontajAction" >
<TABLE width='180' border='0.2'>
<tr>
<% for (int k=0;k<modelDate.getColumnCount();k++) {%>
<td align="center">
<%=modelDate.getColumnName(k).toUpperCase()%>
</td>
<%}%>
</TR>
<% for (int i=0;i<modelDate.getRowCount();i++){%>
<TR>
<% for (int k=0;k<modelDate.getColumnCount();k++) {%>
<td>
<INPUT type='text' size='10'
name="valoare_<%=i+"_"+k%>" value="<%=modelDate.getValueAt(i,k)%>"
<%=(k==0||k==1)?"readonly='true'":" "%> >
</td>
<%}%>
</TR>
<%}%>
</TABLE>
<html:submit property="save" value="Salveaza Modificari"/>
</html:form>
As you can see i can control every property of the INPUT depending on the
number of column.
<%=(k==0||k==1)?"readonly='true'":" "%> >
This means that for the first and second column, the INPUT are readonly.
What i would like to do is to have one column like a combobox, and for that
i was thinking to use <html:select> tag.
So the code should be like this :
..........................................................................................
<% for (int k=0;k<modelDate.getColumnCount();k++) {
if (k==5) {%> // column 5 is a select box
<td>
<html:select property="valoare_<%=i+"_"+k%>">
<%
Connection conexiune = Utilitati.getConexiune();
System.out.println("conexiune"+conexiune);
java.util.ArrayList listaActivitati=
ObiectPersistent.getObjects(Activitati.class,conexiune,null);
System.out.println("listaActivitati"+listaActivitati);
conexiune.close();
for(int j=0;j<listaActivitati.size();j++) {
%>
<html:option value="<%=((Activitati)listaActivitati.get(j)).getActivid()%>">
<%=((Activitati)listaActivitati.get(j)).getNumeactiv()%>
</html:option>
<%}%> <%-- s-a inchis for-ul--%>
</html:select>
<%}
else{%>
<td>
<INPUT type='text' size='10'
name="valoare_<%=i+"_"+k%>" value="<%=modelDate.getValueAt(i,k)%>"
<%=(k==0||k==1)?"readonly='true'":" "%> >
</td>
The problem is that i can't use this because struts is expecting for a
getter method for variable defined in property option of <html:select>.
I could create another form bean class for this but it's getting very
complicated.
Does anyone know how can i use the JTable class and <html:selec> in a more
easy way ?
Thanks and hope that you understood me.