struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Pratt <thechrispr...@gmail.com>
Subject Re: Currency Formatting
Date Thu, 15 Jul 2010 21:17:23 GMT
I just use Tiles to do my page composition, so I don't have places where
JSP's include other JSP's.  Probably why I haven't run across anything like
this.  It might take one of the core developers that are familiar with the
internals of these tags to give them a look, or you could venture into that
cold dark land yourself...
  (*Chris*)

On Thu, Jul 15, 2010 at 2:05 PM, Chris Miles <chris@chrismiles.org> wrote:

> Yeah sorry was just a paste typo. :(
>
> Basically if you try the format, but do it in a JSP being included by
> another JSP as the result of an Action the problem is recreated. Bit much to
> ask. If it helps yourself or anyone I can make up a dummy project showing
> the issue to take out the leg work?
>
>
> Chris
>
> ----- Original Message ----- From: "Chris Pratt" <thechrispratt@gmail.com>
> To: "Struts Users Mailing List" <user@struts.apache.org>
> Sent: Thursday, July 15, 2010 8:24 PM
>
> Subject: Re: Currency Formatting
>
>
> If that's actually a cut-n-paste job from the files, I can see the error,
> if
> you retyped it, it's probably just a typo.  But, you have a close tag after
> the s:param and before it's arguments, which is making it invalid, and
> would
> definitely cause the JSP processor to puke.  Try the below instead:
>  (*Chris*)
>
> <s:text name="format.currency"><s:param value="price"/></s:text>
>
> On Thu, Jul 15, 2010 at 12:16 PM, Chris Miles <chris@chrismiles.org>
> wrote:
>
>  I broke this down into a very simple example tonight.
>>
>> Just two JSP pages.
>>
>> test1.jsp
>>
>> which has
>>
>> <s:include value="test2.jsp"/>
>>
>> and
>>
>> test2.jsp
>>
>> which has
>>
>>
>> <s:text name="format.currency"><s:param> value="price"/></s:text></span>
>>
>> I have TestAction which has a simple getPrice which returns a Double.
>>
>> I have created two actions:
>>
>>
>> <result name="success">/jsp/shopview/getProduct.jsp</result>
>>
>> <action name="test1" class="actions.TestAction" method="test1">
>>  <result name="success">/test1.jsp</result>
>> </action>
>>
>> <action name="test1" class="actions.TestAction" method="test2">
>>  <result name="success">/test2.jsp</result>
>> </action>
>>
>> When I forward straight to the page which has the s:text it works. If I
>> forward to the page which includes the page which has the s:text it stops
>> rendering. No errors. Can not trace it in the code. Must be a problem with
>> the way the output is being written to the stream?
>>
>> This is recreatable if you try doing the include above.
>>
>> Can not figure this out?
>>
>> Thanks
>>
>> Chris
>>
>> ----- Original Message ----- From: "Chris Miles" <chris@chrismiles.org>
>>
>> To: "Struts Users Mailing List" <user@struts.apache.org>
>> Sent: Wednesday, July 14, 2010 11:21 PM
>>
>> Subject: Re: Currency Formatting
>>
>>
>>  On further digging I have found out some more info.
>>
>>>
>>> My action is
>>>
>>> /shop/getProduct.action?productId=61
>>>
>>> The action is defined as follows:
>>>
>>>      <action name="getProduct"
>>> class="org.chrismiles.sentiments.struts2.shop.GetProductAction">
>>>          <result
>>> name="success">/shop.jsp?content=/jsp/shopview/getProduct.jsp</result>
>>>      </action>
>>>
>>> shop.jsp is basically main template page in which the content changes
>>> inside.
>>>
>>> It contains the following line
>>>
>>> <s:include value="%{#parameters.content}"/>
>>>
>>> So no matter what action I call I can forward to the shop page as the
>>> view
>>> and include the custom view page which in the above example is the
>>> getProduct jsp page.
>>>
>>> For testing I just used the following action result to go straight to the
>>> individual view page.
>>>
>>> <result name="success">/jsp/shopview/getProduct.jsp</result>
>>>
>>> which includes
>>>
>>> <s:text name="format.currency"><s:param
>>> value="product.price"/></s:text></span>
>>>
>>> and it renders every thing successfully and even includes a localised £
>>> sign which.
>>>
>>> Does this help shed any further light on it? Something in the including
>>> mechanism which is messing things up?
>>>
>>> Chris
>>>
>>> ----- Original Message ----- From: "Chris Pratt" <
>>> thechrispratt@gmail.com
>>> >
>>> To: "Struts Users Mailing List" <user@struts.apache.org>
>>> Sent: Wednesday, July 14, 2010 12:10 AM
>>> Subject: Re: Currency Formatting
>>>
>>>
>>>  That's weird I've never experienced anything like that were rendering
>>>
>>>> stops
>>>> without putting anything into the logs.  Looks like you'll have to dig
>>>> into
>>>> the code.
>>>>  (*Chris*)
>>>>
>>>> On Tue, Jul 13, 2010 at 4:05 PM, Chris Miles <chris@chrismiles.org>
>>>> wrote:
>>>>
>>>>  HTML rendering just completely stops at that point. I get the
>>>> following:
>>>>
>>>>>
>>>>> <span class="product-name">This is a product name</span>
>>>>> <span class="product-price">
>>>>>
>>>>> And nothing else for the rest of the page. Nothing in the logs. Nothing
>>>>> :)
>>>>>
>>>>>
>>>>> Chris
>>>>> ----- Original Message ----- From: "Chris Pratt" <
>>>>> thechrispratt@gmail.com>
>>>>> To: "Struts Users Mailing List" <user@struts.apache.org>
>>>>> Sent: Wednesday, July 14, 2010 12:03 AM
>>>>>
>>>>> Subject: Re: Currency Formatting
>>>>>
>>>>>
>>>>>  Define "fails", you get a stack trace? you don't get the output you
>>>>>
>>>>>  expected?  If so, what were you expecting vs. what did you get? I've
>>>>>> used
>>>>>> that code a thousand times, so I'm not sure what could be going
>>>>>> wrong...
>>>>>>  (*Chris*)
>>>>>>
>>>>>> On Tue, Jul 13, 2010 at 3:56 PM, Chris Miles <chris@chrismiles.org>
>>>>>> wrote:
>>>>>>
>>>>>>  Thanks Chris. The reason I use this method in my iterators is there
>>>>>> are a
>>>>>>
>>>>>>  few places where I use nested iterators so the # notation is the
only
>>>>>>> way
>>>>>>> to
>>>>>>> access the current iterator but also the parent iterator.
>>>>>>>
>>>>>>> This specific iterator is not nested so I have changed it for
>>>>>>> learning
>>>>>>> and
>>>>>>> trial sake and it fails with the line
>>>>>>>
>>>>>>> <span class="product-price"><s:text name="format.currency"><s:param
>>>>>>> value="price"/></s:text></span>
>>>>>>>
>>>>>>> I can put
>>>>>>>
>>>>>>> <span class="product-price"><s:property value="price"/></span>
>>>>>>>
>>>>>>> and it displays the value fine.
>>>>>>>
>>>>>>>
>>>>>>> Chris
>>>>>>>
>>>>>>> ----- Original Message ----- From: "Chris Pratt" <
>>>>>>> thechrispratt@gmail.com>
>>>>>>> To: "Struts Users Mailing List" <user@struts.apache.org>
>>>>>>> Sent: Tuesday, July 13, 2010 11:28 PM
>>>>>>> Subject: Re: Currency Formatting
>>>>>>>
>>>>>>>
>>>>>>>  I've never used the iterator tag like that, the standard way
to use
>>>>>>> the
>>>>>>>
>>>>>>>  Struts 2 Iterator would be:
>>>>>>>
>>>>>>>>
>>>>>>>> <s:iterator value="products">
>>>>>>>>  <span class="product-name"><s:property value="name
<
>>>>>>>> http://product.name/
>>>>>>>> >
>>>>>>>>
>>>>>>>> "/></span>
>>>>>>>>  <span class="product-price">&pound;<s:text
>>>>>>>> name="format.currency"><s:param
>>>>>>>> value="price"/></s:text></span>
>>>>>>>> </s:iterator>
>>>>>>>>
>>>>>>>> Since the iterator tag puts the current value on the top
of the
>>>>>>>> stack,
>>>>>>>> there's no reason to define a variable to hold it.  It's
much
>>>>>>>> simpler
>>>>>>>> to
>>>>>>>> just use the value stack to pull the values from.  Don't
know if
>>>>>>>> this
>>>>>>>> might
>>>>>>>> help or not.
>>>>>>>>  (*Chris*)
>>>>>>>>
>>>>>>>> On Tue, Jul 13, 2010 at 3:23 PM, Chris Miles <chris@chrismiles.org>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>  Chris,
>>>>>>>>
>>>>>>>>
>>>>>>>>  I have a list of products which contain a double price.
>>>>>>>>>
>>>>>>>>> I now have.
>>>>>>>>>
>>>>>>>>> <s:iterator value="products" var="product">
>>>>>>>>>  <span class="product-name"><s:property value="#product.name
>>>>>>>>> "/></span>
>>>>>>>>>  <span class="product-price">&pound;<s:text
>>>>>>>>> name="format.currency"><s:param
>>>>>>>>> value="#product.price"/></s:text></span>
>>>>>>>>> </s:iterator>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Chris
>>>>>>>>> ----- Original Message ----- From: "Chris Pratt" <
>>>>>>>>> thechrispratt@gmail.com>
>>>>>>>>> To: "Struts Users Mailing List" <user@struts.apache.org>
>>>>>>>>> Sent: Tuesday, July 13, 2010 11:04 PM
>>>>>>>>>
>>>>>>>>> Subject: Re: Currency Formatting
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>  <s:iterator> puts the value on the top of the
stack, so if you
>>>>>>>>> have
>>>>>>>>> a
>>>>>>>>> list
>>>>>>>>>
>>>>>>>>>  of doubles, we'll call it amounts, it would look something
like
>>>>>>>>> this:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> <s:iterator value="%{amounts}">
>>>>>>>>>>  <s:text name="format.currency"><s:param
value="%{top}"/></s:text>
>>>>>>>>>> </s:iterator>
>>>>>>>>>>
>>>>>>>>>>  (*Chris*)
>>>>>>>>>>
>>>>>>>>>> On Tue, Jul 13, 2010 at 2:43 PM, Chris Miles <
>>>>>>>>>> chris@chrismiles.org
>>>>>>>>>> >
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>  Chris,
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  Hi that works perfectly for
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> <s:text name="format.currency"><s:param
value="total"/></s:text>
>>>>>>>>>>>
>>>>>>>>>>> where total is public Double getTotal
>>>>>>>>>>>
>>>>>>>>>>> but causes all rendering to stop at the following
within an
>>>>>>>>>>> iterator.
>>>>>>>>>>>
>>>>>>>>>>> <s:text name="format.currency"><s:param
value="#product.price"/>
>>>>>>>>>>>
>>>>>>>>>>> where List<Product> getProducts (for the
iterator), public
>>>>>>>>>>> Product
>>>>>>>>>>> getProduct and public Double getPrice
>>>>>>>>>>>
>>>>>>>>>>> and also fails just on
>>>>>>>>>>>
>>>>>>>>>>> <s:text name="format.currency"><s:param
>>>>>>>>>>> value="product.price"/></s:text>
>>>>>>>>>>>
>>>>>>>>>>> where public Product getProduct
>>>>>>>>>>>
>>>>>>>>>>> Is there places where different mechanisms need
to be used here?
>>>>>>>>>>> I
>>>>>>>>>>> dont
>>>>>>>>>>> understand the inconstistant result I now get.
>>>>>>>>>>>
>>>>>>>>>>> Nothing in the log files on TRACE
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>>
>>>>>>>>>>> Chris
>>>>>>>>>>> ----- Original Message ----- From: "Chris Pratt"
<
>>>>>>>>>>> thechrispratt@gmail.com>
>>>>>>>>>>> To: "Struts Users Mailing List" <user@struts.apache.org>
>>>>>>>>>>> Sent: Tuesday, July 13, 2010 8:16 PM
>>>>>>>>>>> Subject: Re: Currency Formatting
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>  try <s:param> instead of <s:property>.
>>>>>>>>>>>
>>>>>>>>>>>  (*Chris*)
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>  On Tue, Jul 13, 2010 at 12:11 PM, Chris Miles
<
>>>>>>>>>>>> chris@chrismiles.org
>>>>>>>>>>>> >
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>  At the moment I have in my struts.xml
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>  <constant name="struts.custom.i18n.resources"
>>>>>>>>>>>>
>>>>>>>>>>>>  value="ApplicationResources"
>>>>>>>>>>>>> />
>>>>>>>>>>>>>
>>>>>>>>>>>>> ApplicationResources.properties is being
packaged within
>>>>>>>>>>>>> WEB-INF\classes
>>>>>>>>>>>>> within a WAR within an EAR.
>>>>>>>>>>>>>
>>>>>>>>>>>>> The file contains: format.currency={0,number,currency}
>>>>>>>>>>>>>
>>>>>>>>>>>>> In my JSP I have <s:text name="format.currency"><s:property
>>>>>>>>>>>>> value="product.price"/></s:text>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Without the s:text the price is displayed
(a Double).
>>>>>>>>>>>>>
>>>>>>>>>>>>> When the s:text is included all I get
is: {0}
>>>>>>>>>>>>>
>>>>>>>>>>>>> thanks
>>>>>>>>>>>>>
>>>>>>>>>>>>> Chris
>>>>>>>>>>>>> ----- Original Message ----- From: "Chris
Pratt" <
>>>>>>>>>>>>> thechrispratt@gmail.com>
>>>>>>>>>>>>> To: "Struts Users Mailing List" <user@struts.apache.org>
>>>>>>>>>>>>> Sent: Sunday, July 11, 2010 1:25 AM
>>>>>>>>>>>>> Subject: Re: Currency Formatting
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>  Define something like:
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>  format.currency={0,number,currency}
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>  In your applications.properties file,
then use:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> <s:text name="format.currency"><s:param
>>>>>>>>>>>>>> value="%{amount}"/></s:text>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> HTH
>>>>>>>>>>>>>>  (*Chris*)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Sat, Jul 10, 2010 at 5:53 AM,
Chris Miles <
>>>>>>>>>>>>>> chris@chrismiles.org>
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>  Hi
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>  If I am displaying a Double to a
JSP page what is the
>>>>>>>>>>>>>> recommended
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>  way
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>> format this is as a currency
to two decimal points?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Chris
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>  ---------------------------------------------------------------------
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>  To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>  For additional commands, e-mail:
user-help@struts.apache.org
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>  ---------------------------------------------------------------------
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>  To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>>>>>>>>>>>
>>>>>>>>>>> For additional commands, e-mail: user-help@struts.apache.org
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>  ---------------------------------------------------------------------
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>>>>>>>> For additional commands, e-mail: user-help@struts.apache.org
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>
>>>>>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>>>>>> For additional commands, e-mail: user-help@struts.apache.org
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>  ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>>>> For additional commands, e-mail: user-help@struts.apache.org
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: user-help@struts.apache.org
>>>
>>>
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>> For additional commands, e-mail: user-help@struts.apache.org
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message