I just realized something I could do.  The jsp I forward to has a tiles
definition like the following:

<tiles:insert definition=".popupLayout">
    <tiles:put name="pageTitle">
        <bean:message key="my.message.key.to.page.title"/>
    </tiles:put>
    <tiles:put name="formId" value="maintenanceForm"/>
    <tiles:put name="formAction" value="/postaction"/>
    <tiles:put name="body" value="/pages/test-body.jsp" />
</tiles:insert>

The test-body.jsp then has the following statements at the top:
    <bean:define id="formBean"><tiles:getAsString
name="formId"/></bean:define>
    <bean:define id="actionBean"><tiles:getAsString
name="formAction"/></bean:define>

Then when I'm working with my form:

    <html:form action="<%=actionBean%>">
        <html:hidden name="<%=formBean%>" property="myField1"/>
        <html:text name="<%=formBean%>" property="userName" size="25"
maxlength="32" />
        <html:submit><bean:message
key="global.forms.button.submit.label"/></html:submit>
    </html:form>

I can also use the statement:
    <c:out value="${formBean}"/>

Therefore, if I create my action form classes as such:
    public class CheckboxPagedForm extends ActionForm
    public class MaintenanceForm extends CheckboxPagedForm

I can define multiple action mappings in struts-config.xml like:
    <action
        path="/maintMfrLookup"
        type="com.setech.catalog.CatalogMaintenanceAction"
        name="maintenanceForm">
        <forward name="success" path="/pages/catalog/mfrlookup.jsp"/>
    </action>
    <action
        path="/maintMainCategoryLookup"
        type="com.setech.catalog.CatalogMaintenanceAction"
        name="maintenanceForm">
        <forward name="success"
path="/pages/catalog/maincategorieslookup.jsp"/>
    </action>

Each of the above two JSPs referenced in the forwards would include the same
base BODY JSP page, thus when I need to make changes to how these popups
work, I only make the change in 1 place and its applicable to all.

Another alternative to having multiple action mappings would be to derive my
action from a dispatch action instead of an action forward thus giving me
only 1 mapping with multiple forwards which may make more sense.

Anyone have any thoughts on this approach?

----- Original Message -----
From: "Linck, Ken" <[EMAIL PROTECTED]>
To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
Sent: Thursday, June 17, 2004 3:08 PM
Subject: RE: Forms/JSP


I have never seen any good strategy crossing oo-concepts like
inheritance and user interface patterns. I always end up back at the
containment approach(Breaking your interfaces into smallest re-usable
pieces).

If I had the time I would collaborate with you.  If you have some kind
of white paper concept already, I will be happy to read it though and
provide some feedback.

Ken

-----Original Message-----
From: mike [mailto:[EMAIL PROTECTED]
Sent: Thursday, June 17, 2004 2:46 PM
To: Struts Users Mailing List; Struts Users Mailing List
Subject: Re: Forms/JSP

Hello, Chris,

I sent out a note some time back on this saying that I think we should
all collaborate and build something this is new on this issue.  This is
a major recurrent issue.  The current solutions all "suck" to some
extent either in bloating the session and creating difficulty with
multiple windows, or in requiring too much coding when the MVC
structure, which I believe in "way deeply", is adhered to strictly.  I
think something other than the normal scopes for retaining and accessing
data is what is required, i.e. something out-of-the-present box.  I
still think that this is necessary, and if there had been a response of
any kind, I would have set about working collaboratively on it.  I guess
this is a time to reassert the need and to ask if anyone on the list
would like to collaborate.  I think that someone going off on their own,
whjich I will do eventually if no one responds, is less advisable
because the collective wisdom of the list is helpful.  This is a good
issue, I think, for the dev list as well.

Specifically on your issue, there is a simple answer depending on what
your question is.  You can always reference a super class from a
subclass, if that is the question.  If the question is whether you can
reference another instance of the superclass, the answer is that you can
if you have parked it somewhere and have access to it.  Is this a fair
answer, or am I misunderstanding you?

Michael

At 11:32 AM 6/17/2004, Chris Cranford wrote:
>Any thoughts anybody?
>
>----- Original Message -----
>From: "Chris Cranford" <[EMAIL PROTECTED]>
>To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
>Sent: Thursday, June 17, 2004 12:17 PM
>Subject: Forms/JSP
>
>
>I have created a form hierarchy as follows:
>   public class CheckboxPagedForm extends ActionForm
>   public class MaintenanceForm extends CheckboxPagedForm
>
>I did this because there are form-specific attributes for the
>maintenance form, but we have multiple forms which are going to need to

>leverage the paged checkbox form stuff.  In the maintenance.jsp I need
>to open a new window and work with only the data in the base class
"CheckboxPagedForm".
>
>What I'd like to do is have this JSP common so that no matter what
>extended form calls it, it gets the data, permits the user to make
>changes to the data and then when the window is closed, the data gets
>sent back to the "maintenanceform" with a parameter that tells it to
update itself,etc.
>
>Right now I had to write my JSP so that I checks like:
>
><logic:present name="maintenanceForm">
>   .. do maintenance form logic
></logic:present>
><logic:present name="searchForm">
>   .. do search form logic
></logic:present>
>
>Is there not a way that no matter what the extended form is, since both

>are "checkboxpageform", I can just reference that?
>
>Thanks
>Chris
>
>
>
>
>---------------------------------------------------------------------
>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]





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

Reply via email to