Hi Matt;
Actually I am going to do something like below. The data I'm getting
this from is a seperate DB table than the ones I have generated using
appfuse (I have created my own ETL process to build it). Is this the
hard way to do it? I am still learning hibernate and spring so I am
not totally comfortable with the framework.
Thanks,
Luke
public ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response, Object command,
BindException errors)
throws Exception {
if (log.isDebugEnabled()) {
log.debug("entering 'onSubmit' method...");
}
Patient patient = (Patient) command;
boolean isNew = (patient.getPatientId() == null);
Locale locale = request.getLocale();
if (request.getParameter("delete") != null) {
patientManager.removePatient(patient.getPatientId().toString());
saveMessage(request, getText("patient.deleted", locale));
} else {
String countryId = request.getParameter("countryId");
String doctorId = request.getParameter("doctorId");
PatientData p_data = new PatientData(countryId);
patient.setPatientTag(p_data.getTag());
patient.setTreatmentarm(p_data.getTreatmentArm());
patient.setDoctorId(new Long(doctorId));//this is going to
come from the request
patientManager.savePatient(patient);
String key = (isNew) ? "patient.added" : "patient.updated";
saveMessage(request, getText(key, locale));
if (!isNew) {
return new ModelAndView("redirect:editPatient.html",
"patientId", patient.getPatientId());
}
}
return new ModelAndView(getSuccessView());
}
public class PatientData {
private String tag;
private int treatmentArm;
PatientData(String countryId) {
//connect to the DB to get the next available values for the
countryId
this.tag = "value from DB";
this.treatmentArm = 0;//value from the DB
//update the assignment date so these values will not be
selected again
}
/**
* @return the tag
*/
public String getTag() {
return tag;
}
/**
* @param tag the tag to set
*/
public void setTag(String tag) {
this.tag = tag;
}
/**
* @return the treatmentArm
*/
public int getTreatmentArm() {
return treatmentArm;
}
/**
* @param treatmentArm the treatmentArm to set
*/
public void setTreatmentArm(int treatmentArm) {
this.treatmentArm = treatmentArm;
}
}
On 3/5/07, Matt Raible <[EMAIL PROTECTED]> wrote:
The method of how data is retrieved from the database should already
be setup for you - with Managers, DAOs, etc. Showing us pseudo code
for what you're trying to do with make it much easier to help.
Matt
On 3/5/07, Luke Shannon <[EMAIL PROTECTED]> wrote:
> Thanks Mat, formBackingObject() seems to be the way to go. Do you see
> any problem using the Jakarta-Commons DB connection pool to obtain the
> data from the DB? Or is there a better approach to this?
>
> On 3/4/07, Matt Raible <[EMAIL PROTECTED]> wrote:
> > You could do this in your DAO where you originally fetch everything. Also,
> > there's logic in your FormController's formBackingObject() that gets your
> > object from the database before populating it from request parameters. This
> > means you don't have to store these fields in hidden fields. If this
> > doesn't work, you might try storing the non-editable fields in hidden fields
> > or read-only fields.
> >
> > Matt
> >
> >
> > On 3/4/07, Luke Shannon <[EMAIL PROTECTED]> wrote:
> > >
> > > Hi;
> > >
> > > This may be a more of a Spring question, although I am hoping there is
> > > something within the Appfuse tools to assist with this.
> > >
> > > I have a Pojo I have created in my application and I have used Appgen
> > > to create everything I need for the CRUD operations.
> > >
> > > What I would like to do now is modify the application so specific
> > > fields in the Pojo are set using data from a DB and not from user
> > > input from the web tier.
> > >
> > > Working within the Struts framework (Appfuse 1.9.4) where is the best
> > > place to implement such a change? Is there a best practise for
> > > something like this?
> > >
> > > Thanks,
> > >
> > > Luke
> > >
> > >
> > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail:
> > [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
> >
> >
> > --
> > http://raibledesigns.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
http://raibledesigns.com
---------------------------------------------------------------------
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]