Using Struts tag libs

O

Oleg Konovalov

Hi,

I am relatively new to Struts [using 1.3].

I need to create a form using Struts tag libs with 2 HTML select's [lists],
connected to 2 DB tables, say allUsers and Admins, which would allow
to select Administrators from the list of AllUsers.

So I will have 3 buttons: Add, Remove and Update.
Add - to add selected item(s) from AllUsers list to Admins list [if it is
not there already];
Remove- to delete selected item(s) from Admins list;
Update - to save changes to Admins list to the Admins DB table.

So roughly my JSP will looks something like that:

<%@ page import="java.util.Collection" %>

<html:form property="manageAdmins" action="/manageAdmins">

<table>
<tr>
<td>&nbsp;&nbsp;</td>
<td>All Users:</td>
<td>&nbsp;&nbsp;</td>
<td>&nbsp;&nbsp;</td>
<td>&nbsp;&nbsp;</td>
<td>Administrators:</td>
</tr>
<tr>
<td>&nbsp;</td>

<td>
<html:select size="8" property="allUsers" multiple="true"
styleId="allUsersID">
<html:eek:ptions collection="AllUsersList" property="AllUsersId"
labelProperty="allUsers"/>
</html:select>
</td>
<td>&nbsp;</td>
<td>
<table>
<tr><img src="/images/btn_add.gif" alt="Add" name="add" border="0"
id="add" onClick="?">
</tr>
<tr><img src="/images/btn_remove.gif" alt="Remove" name="remove"
id="remove" onClick="?">
</tr>
<tr><img src="/images/btn_update.gif" alt="Update" name="update"
id="update" onClick="?">
</tr>
</table>
</td>
<td>&nbsp;</td>
<td>
<html:select size="8" property="admins" multiple="true"
styleId="adminsID" onchange="getAdmins();">
<html:eek:ptions collection="AdminsList" property="AdminID"
labelProperty="admins"/>
</html:select>
</td>
</tr>
<tr>
</tr>
</table>
</html:form>

So how do I manipulate these <html:eek:ptions collection=AdminList...> Struts
tags
in order to implement Add, Remove, Update ? In onClick="..." ?
Is it in JavaScript or in Java ?
Any other useful Struts tags for that [especially to do DB synchronization]?
Code snippets ?

Sorry for the newbie question.

Thank you in advance,
Oleg.


A
 
L

Lew

Oleg said:
I am relatively new to Struts [using 1.3].

I need to create a form using Struts tag libs with 2 HTML select's [lists],
connected to 2 DB tables, say allUsers and Admins, which would allow
to select Administrators from the list of AllUsers.

So I will have 3 buttons: Add, Remove and Update.
Add - to add selected item(s) from AllUsers list to Admins list [if it is
not there already];
Remove- to delete selected item(s) from Admins list;
Update - to save changes to Admins list to the Admins DB table. ....
So how do I manipulate these <html:eek:ptions collection=AdminList...
Struts tags in order to implement Add, Remove, Update ?
In onClick="..." ? Is it in JavaScript or in Java ?
Any other useful Struts tags for that [especially to do DB synchronization]?
Code snippets ?

Forget Javascript for now. I'm reading this in one of the many, many Java
groups to which you posted your request - you should set follow-up to just one
of them. Struts is primarily a server-side application framework that
coordinates the thin-client view artifacts (JSPs) with the application logic.

On the server side the Struts "ActionServlet" (the "controller") will forward
the request parameters to an "Action" class, with parameters from the request
captured in an "ActionForm" class. It is the Action class that forwards the
request information to business logic and maybe populates the ActionForm with
the results, then reports the outcome to Struts.

The Struts framework invokes the execute() method of the Action class, which
in turn returns an ActionForward return type object that the Struts framework
uses to choose the next view (JSP). The execute() method coordinates logic
invoked via custom logic-class instances (typically JavaBeans) that you write
to handle the application-specific behaviors. The ActionForward return object
encapsulates the success, failure or other termination state of the execute()
invocation.

Values in the ActionForm, session scope or elsewhere may change as a result of
the Action object's execute().

The next screen will dutifully show those values.

Struts implements the "Model-View-Controller" paradigm, and supplies the
controller and the glue to join the three parts. Wikipedia is a good source
of knowledge for that. So is Sun. The JSPs represent the view, and should
have no business logic coded in them at all. The model layer, those
server-side classes invoked by the Action classes, handles all logic. Struts
glues the navigation together with its controller.

For more, see:
<http://struts.apache.org/1.3.8/userGuide/index.html>
 
L

Lew

Oleg Konovalov said:
Hi,

I am relatively new to Struts [using 1.3].

David said:
Wrong group.

Which group was wrong? It was perfectly fine for the group from which I'm
responding, comp.lang.java.help.

Since the OP sent to many groups, it would help them to know which ones were
inappropriate. Of course, they really should have stuck with one in the first
place, or perhaps set follow-up to just one. I suggest comp.lang.java.help.
 
R

Richard Cornford

Lew said:
David said:
Oleg Konovalov said:
I am relatively new to Struts [using 1.3].
Wrong group.

Which group was wrong? It was perfectly fine for the group
from which I'm responding, comp.lang.java.help.

Since the OP sent to many groups, it would help them to know
which ones were inappropriate.
<snip>

The intended 'wrong group' was almost certainly comp.lang.javascript,
but as David posted from Google groups it is likely that he was unaware
of all the Java groups in the cross posting (as it takes positive action
on the part of their users to see the list of groups in a message's
Newsgroups header). On the other hand, as the question included "Is it
in JavaScript or in Java?" I don't see how comp.lang.javascript could be
the wrong group for asking the question, even if it becomes the wrong
group for any discussion of the answer as soon as the answer 'Java' is
given.

Richard.
 
O

Oleg Konovalov

Thank you for the Struts intro,
but I don't see how that answers any of my questions...

Thanks,
Oleg.


Lew said:
Oleg said:
I am relatively new to Struts [using 1.3].

I need to create a form using Struts tag libs with 2 HTML select's
[lists],
connected to 2 DB tables, say allUsers and Admins, which would allow
to select Administrators from the list of AllUsers.

So I will have 3 buttons: Add, Remove and Update.
Add - to add selected item(s) from AllUsers list to Admins list [if it is
not there already];
Remove- to delete selected item(s) from Admins list;
Update - to save changes to Admins list to the Admins DB table. ...
So how do I manipulate these <html:eek:ptions collection=AdminList...
Struts tags in order to implement Add, Remove, Update ? In
onClick="..." ? Is it in JavaScript or in Java ?
Any other useful Struts tags for that [especially to do DB
synchronization]?
Code snippets ?

Forget Javascript for now. I'm reading this in one of the many, many Java
groups to which you posted your request - you should set follow-up to just
one of them. Struts is primarily a server-side application framework that
coordinates the thin-client view artifacts (JSPs) with the application
logic.

On the server side the Struts "ActionServlet" (the "controller") will
forward the request parameters to an "Action" class, with parameters from
the request captured in an "ActionForm" class. It is the Action class
that forwards the request information to business logic and maybe
populates the ActionForm with the results, then reports the outcome to
Struts.

The Struts framework invokes the execute() method of the Action class,
which in turn returns an ActionForward return type object that the Struts
framework uses to choose the next view (JSP). The execute() method
coordinates logic invoked via custom logic-class instances (typically
JavaBeans) that you write to handle the application-specific behaviors.
The ActionForward return object encapsulates the success, failure or other
termination state of the execute() invocation.

Values in the ActionForm, session scope or elsewhere may change as a
result of the Action object's execute().

The next screen will dutifully show those values.

Struts implements the "Model-View-Controller" paradigm, and supplies the
controller and the glue to join the three parts. Wikipedia is a good
source of knowledge for that. So is Sun. The JSPs represent the view,
and should have no business logic coded in them at all. The model layer,
those server-side classes invoked by the Action classes, handles all
logic. Struts glues the navigation together with its controller.

For more, see:
<http://struts.apache.org/1.3.8/userGuide/index.html>
 
T

Thomas 'PointedEars' Lahn

[Crosspost reduced, Followup-To comp.lang.javascript]

Oleg said:
So roughly my JSP will looks something like that:

<%@ page import="java.util.Collection" %>

<html:form property="manageAdmins" action="/manageAdmins">
[...]
</html:form>

So how do I manipulate these <html:eek:ptions collection=AdminList...> Struts
tags in order to implement Add, Remove, Update ? In onClick="..." ?
Is it in JavaScript or in Java ?

The question is: What exactly do you want to manipulate and how?

If you want to/have to do it with client-side JavaScript (or any other
conforming ECMAScript implementation), first you have to understand that
your source code is (hopefully) not what the client (the Web browser, or
the Web User Agent in general) receives. It is code which is rewritten
on-the-fly by the server framework (here: JSP) into (hopefully Valid)
(X)HTML that is then served to the client.[1]

So if you want to/have to operate on that code client-side, and if you
don't know how, you have to post a snippet of the client-side code
instead (or its URL if lengthy), and deduce backwards towards your
server-side code from the then-determined general client-side solution.
Anything else is just going to be a time-wasting quiz show nobody
really wants to be a part of. (That goes for any combined
server-side-client-side approach.)


HTH

PointedEars
___________
[1]
http://en.wikipedia.org/wiki/Apache_Struts
http://de.wikipedia.org/wiki/Struts (includes example code and HTML code
generated from it)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,982
Messages
2,570,189
Members
46,734
Latest member
manin

Latest Threads

Top