Hallo,
ich habe eine Klasse Userrights als Bean mit den Properties und den Entsprechenden Getter und Setter Methoden:
ich habe eine Formbean:
ich habe weiterhin eine jsp zur eingabe:
Ich habe auch noch eine Action
Ich bekomme beim Aufrufen der JSP die gesetzten Userrights in der JSP richtig angezeigt. Ändere ich nun aber die checkboxen in der Eingabe und sende das ganze an die Action, dann bekomme ich die alten Werte. Nicht aber diejenigen, die ich in der Eingabe gesetzt hatte. Kann mir jmd sagen was ich hier beachten muss, um hier die Werte in der Action angezeigt zu bekommen, die ich vor dem absenden geändert habe ?
Schonmal vielen Dank!
ich habe eine Klasse Userrights als Bean mit den Properties und den Entsprechenden Getter und Setter Methoden:
Code:
private int scenarioId = -1;
private String scenarioName = null;
private boolean administration = false;
private boolean probenEinlagerung = false;
private boolean probenAuslagerung = false;
private boolean auftraggeberVerwaltung = false;
private boolean spenderVerwaltung = false;
ich habe eine Formbean:
Code:
public class BenutzerAnlegenForm extends ActionForm {
private ArrayList<UserRights> userrights = null;
public void reset(ActionMapping mapping, HttpServletRequest request) {
this.userrights = new ArrayList<UserRights>();
this.userrights.add(new UserRights(1,"test",true,false,false,false,false));
}
public void setUserrights(ArrayList<UserRights> userrights) {
System.out.println("Userrights gesetzt");
this.userrights = userrights;
}
public ArrayList<UserRights> getUserrights() {
System.out.println("Userrights gelesen");
return userrights;
}
}
ich habe weiterhin eine jsp zur eingabe:
Code:
...
<logic:iterate id="userrightIt" type="UserRights" name="benutzerAnlegenForm" property="userrights">
<table style="{ width: 500px }">
<tr>
<td>
<html:img srcKey="images.delete" titleKey="images.delete.alt" />
<bean:write name="userrightIt" property="scenarioName"/>
</td>
<td style="{width: 50px; text-align: center;}">
<html:checkbox name="userrightIt" property="administration" indexed="true"/>
<html:hidden name="userrightIt" property="administration" indexed="true" />
</td>
<td style="{width: 50px; text-align: center;}">
<html:checkbox name="userrightIt" property="probenEinlagerung" indexed="true"/>
<html:hidden name="userrightIt" property="probenEinlagerung" indexed="true" />
</td>
<td style="{width: 50px; text-align: center;}">
<html:checkbox name="userrightIt" property="probenAuslagerung" indexed="true"/>
<html:hidden name="userrightIt" property="probenAuslagerung" indexed="true" />
</td>
<td style="{width: 50px; text-align: center;}">
<html:checkbox name="userrightIt" property="auftraggeberVerwaltung" indexed="true"/>
<html:hidden name="userrightIt" property="auftraggeberVerwaltung" indexed="true" />
</td>
<td style="{width: 50px; text-align: center;}">
<html:checkbox name="userrightIt" property="spenderVerwaltung" indexed="true"/>
<html:hidden name="userrightIt" property="spenderVerwaltung" indexed="true" />
</td>
</tr>
</table>
</logic:iterate>
...
Ich habe auch noch eine Action
Code:
@Override
public ActionForward execute(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
BenutzerAnlegenForm baform = (BenutzerAnlegenForm)form;
for (int i = 0; i < baform.getUserrights().size(); i++) {
System.out.println(i+" -- "+baform.getUserrights().get(i).getScenarioId());
System.out.println(i+" -- "+baform.getUserrights().get(i).getScenarioName());
System.out.println("##################");
System.out.println(i+" -- "+baform.getUserrights().get(i).getAdministration());
System.out.println(i+" -- "+baform.getUserrights().get(i).getAuftraggeberVerwaltung());
System.out.println(i+" -- "+baform.getUserrights().get(i).getProbenAuslagerung());
System.out.println(i+" -- "+baform.getUserrights().get(i).getProbenEinlagerung());
System.out.println(i+" -- "+baform.getUserrights().get(i).getSpenderVerwaltung());
}
return mapping.findForward("DBSuccess");
}
Ich bekomme beim Aufrufen der JSP die gesetzten Userrights in der JSP richtig angezeigt. Ändere ich nun aber die checkboxen in der Eingabe und sende das ganze an die Action, dann bekomme ich die alten Werte. Nicht aber diejenigen, die ich in der Eingabe gesetzt hatte. Kann mir jmd sagen was ich hier beachten muss, um hier die Werte in der Action angezeigt zu bekommen, die ich vor dem absenden geändert habe ?
Schonmal vielen Dank!
Zuletzt bearbeitet: