struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Al Sutton" <>
Subject RE: Outputting raw HTML with s:property tag
Date Thu, 03 Jan 2008 07:44:01 GMT
A polymorphic array would be my suggestion.

Have an array of objects which contain an identifier for the struts tag
type, and the data needed to populate it. For example;

In your action you would have ;

private MyPolyObject[] blah;

Where MyPolyObject contains;

class MyPolyObject {
	private int type
	private String value

Then your JSP has

<s:iterator value="blah">
	<s:if test="type==1">
		<s:property value="%{value}">
	<s:elseif test="type==2">
		<s:textfield value="%{value}">

You can then build extend MyPolyObject into classes which hold the
information for specific types (e.g. a Map for the s:select type).

Hope this helps.


-----Original Message-----
From: shai200 [] 
Sent: 03 January 2008 02:36
Subject: Re: Outputting raw HTML with s:property tag

OK, here's what I'm doing: I am generating forms from external data.
Meaning, I have some XML files, based on which, I am generating a form.

Normally I could do this without Actions, but rather include a bean into a
JSP file (am I right about that?)

However, I also need to use request and response information, and that is
why I was trying to do this through an action. 

Perhaps you have some suggestions for me?


Laurie Harper wrote:
> Leaving aside the issue that you really shouldn't be spitting HTML out 
> of calls to action methods, the answer to your question is no. JSPs 
> are aren't processed 'recursively' like that; you can't have the 
> result of evaluating something in a JSP be something that needs
> Why do you want this? It sounds like you're trying to do too much of 
> your presentation logic in action code, which is generally a bad idea.
> If you describe what you're trying to achieve, someone can probably 
> suggest a better approach.
> L.
> shai200 wrote:
>> No, I want the output of my action to be yet another Struts tag (with 
>> an
>> s:
>> suffix) which is translated into its HTML equivalent -  so for example:
>> If my JSP file includes:
>> <s:property value="property1">
>> then the output of myAction.getProperty1 will be the following code:
>> <s:property value="property2">
>> and that in turn returns "Hello". 
>> So I want the outcome to be "Hello" on the screen.
>> Another example: 
>> <s:property value="mytextbox">
>> and the output of that will be
>> <s:textfield value="hello".... >
>> and I want the result to be a text field displaying the string "hello"
>> inside it.
>> Etcetera...
>> newton.dave wrote:
>>> --- shai200 <> wrote:
>>>> Second question - how can I use struts tags as output (i.e.
>>>> <s:textarea>)?
>>>> Can Struts in turn convert them into HTML code by outputting Struts 
>>>> HTML tag using <s:property > ?
>>> You mean you want to display the (escaped) HTML created by a tag?
>>> d.
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail:
>>> For additional commands, e-mail:
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

View this message in context:
Sent from the Struts - User mailing list archive at

To unsubscribe, e-mail:
For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message