Hi,

Kinda new to WW2/XWork, maybe I'm blind, so tell me if I am ;-)

Here is my problem:
We work in our database driven application with a persistence Manager that 
abstracts records as objects implementing Map interface - manager is OFBiz 
entity engine, for those who might know it...

So, if I want to edit a record and store the result back to db, I have to do 
always the same (web environment):
1. Prepend the edit view with an initialized currentObject (a Map) in context
2. Have a jsp with a form in which inputs are presented for the entries in the 
currentObject the user might change
3. Have a store action to which the form in 2. submits. Store the values 
changed in db again.

The form should read values out of a Map and present them in inputs, ready to 
be changed. But how do I manage to have them dispatched back to the / a Map 
for the store action, including type conversion???

What I tried till now

EntityAction.java:

public abstract class EntityActions extends ActionSupport {

    protected GenericValue currentObject = null; //GenericValue implements Map

    public void setCurrentObject(GenericValue object) {..}

    public GenericValue getCurrentObject() {..}

    ...

    public String edit () {
        // load some GenericValue from db
        // or create an empty one and set it as currentObject
        ..
        return SUCCESS;
    }

    public String store () {
        // store the currentObject, which now should contain the edited
        // values from our web form
        ..
        if (noError) {
            return SUCCESS;
        } else {
            // Do input again to correct values
            return INPUT;
        }
    }
}


xwork.xml:
...
<action name="edit" class="de.aixcept.tse.action.EntityActions" method="edit" 
>
    <param name="entity">translations</param>
    <result name="success" type="dispatcher">
        <param name="location">/WEB-INF/jsp/admin/translation/edit.jsp</param>
    </result>
    <interceptor-ref name="defaultStack"/>
</action>

<action name="store" class="de.aixcept.tse.action.EntityActions" 
method="store" >
    <param name="entity">translations</param>
    <result name="input" type="dispatcher">
        <param name="location">/WEB-INF/jsp/admin/translation/edit.jsp</param>
    </result>
    <result name="success" type="chain">
        <param name="actionName">edit</param>
    </result>
    <interceptor-ref name="defaultStack"/>
</action>
...


edit.jsp:
..
    <ww:form action="store.action" method="POST" >
        <ww:textfield label="English :" name="???" 
                      value="#currentObject.get('en')" />
        <ww:textfield label="German :" name="???" 
                      value="#currentObject.get('de')" />
        <ww:submit name="storeTrans" />
    </ww:form>
..


I hope I could explain what I mean...

Is it possible to dispatch the form parameters back again to currentObject for 
store action, including type conversion? Such as


Action:

private Long myNumber = null;

public Long getMyNumber()

public void setMyNumber(Long aNumber)

...

form:
<ww:textfield label="My Number :" name="myNumber" />

...


which will do everything automagically when parameters interceptor is in 
place?

Can someone help (if anyone understood what I try to do :-) ??


Regards,
Rene


-------------------------------------------------------
This SF.Net email is sponsored by: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
_______________________________________________
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork

Reply via email to