Toon posts:

[JSP/Struts] Application Properties & Class

Pagina: 1
Acties:

Verwijderd

Topicstarter
In een JSP Struts applicatie wil ik graag de Application Properties vanuit een Class kunnen benaderen, is dit mogelijk? Op dit moment wordt deze data via een bean in de pagina ge-parsed. Hierdoor is het echter onmogelijk om er een operator of control structure op los te laten...

  • Cuball
  • Registratie: Mei 2002
  • Laatst online: 26-05 15:05
ja hoor, via Properties class kan je een Property file laden

"Live as if you were to die tomorrow. Learn as if you were to live forever"


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 26-05 00:01

Janoz

Moderator Devschuur®

!litemod

Ja dat kan :). Ik heb alleen de code die hiervoor nodig heb op mijn werk liggen :(. Hier verder naar onderen kun je lezen hoe het ongeveer moet http://www.systemmobile.c...rutsMessageResources.html . Vond ik net met google :).

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 26-05 00:01

Janoz

Moderator Devschuur®

!litemod

Cuball schreef op 08 maart 2004 @ 19:55:
ja hoor, via Properties class kan je een Property file laden
Dat kun je beter niet doen. Door het via de action op te vragen zorg je dat de message bundle op 1 plek wordt gedefinieerd (namelijk de struts-config.xml). Dat houdt de applicatie een stuk onderhoudbaar.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • momania
  • Registratie: Mei 2000
  • Laatst online: 08:51

momania

iPhone 30! Bam!

Zie de javadoc van de Action class: getResources(javax.servlet.http.HttpServletRequest request)

Simple as that :Y)

Neem je whisky mee, is het te weinig... *zucht*


  • Cuball
  • Registratie: Mei 2002
  • Laatst online: 26-05 15:05
ja oei mis gelezen, als je de Application Resources wil ophalen dan doe je dat inderdaad beter anders...

maar ik had het over een gewone property file in te lezen ...


maar wat ik me afvroeg, welke bewerkingen wil de topicstarten dan wel met deze bundel doen ?

"Live as if you were to die tomorrow. Learn as if you were to live forever"


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 26-05 00:01

Janoz

Moderator Devschuur®

!litemod

Och, er zijn genoeg voorbeelden te verzinnen waarbij je meldingen al in je action nodig hebt ipv in je jsp's. Denk hierbij bijvoorbeeld aan het vullen van een collection met labelvalue beans voor een select, of voor het vullen van een email bericht. Ik raad trouwens aan om vanaf dag 1 rekening te houden met de application resources en i18n. Met struts is het erg simpel, maar achteraf zijn deze dingen erg lastig toe te voegen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Ok thanks, dat is wat ik nodig had.

Waarom? Ik wil een subnabvigatie tonen en daarvoor wil ik dynamisch bepalen hoeveel pagina's een bepaalde categorie heeft(en dus niet hard coderen). In mijn application.properties staat bv.

products.page1.title=p1 titel
products.page2.title=bla
products.page3.title=bla

skills.title=skills

about.title=brrr

/edit
Dit vraag ik dus niet op om te gebruiken in een action, maar in een class vanuit de pagina zelf.

[ Voor 9% gewijzigd door Verwijderd op 09-03-2004 10:52 ]


  • momania
  • Registratie: Mei 2000
  • Laatst online: 08:51

momania

iPhone 30! Bam!

Verwijderd schreef op 09 maart 2004 @ 10:49:
[...]


Ok thanks, dat is wat ik nodig had.

Waarom? Ik wil een subnabvigatie tonen en daarvoor wil ik dynamisch bepalen hoeveel pagina's een bepaalde categorie heeft(en dus niet hard coderen). In mijn application.properties staat bv.

products.page1.title=p1 titel
products.page2.title=bla
products.page3.title=bla

skills.title=skills

about.title=brrr

/edit
Dit vraag ik dus niet op om te gebruiken in een action, maar in een class vanuit de pagina zelf.
Voorbereiden van een dynamisch menu kan je volgens mij beter in je action doen.
Je zorgt dan voor een List in je Form die je in je action vult en in je jsp alleen maar hoeft uit te lezen middels een bean:iterate tag.
Bij struts is het juist zo mooi om zo min mogelijk java code en logica in je jsp te hebben en dat allemaal in een action voor te bereiden.

Neem je whisky mee, is het te weinig... *zucht*


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 26-05 00:01

Janoz

Moderator Devschuur®

!litemod

Ik zou het zelf niet in het form zetten. Het hoort namelijk niet in een formulier. Gewoon de lijst in een attribuut opslaan lijkt me voor de hand liggender. Hieronder een klein voorbeeldje uit een struts project van mij:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        Locale locale = request.getLocale();
        list.add(new LabelValueBean(
                resource.getMessage(locale,"survey.question.type.1"),
                "1"));
        list.add(new LabelValueBean(
                resource.getMessage(locale,"survey.question.type.2"),
                "2"));
        list.add(new LabelValueBean(
                resource.getMessage(locale,"survey.question.type.3"),
                "3"));
        list.add(new LabelValueBean(
                resource.getMessage(locale,"survey.question.type.4"),
                "4"));
        list.add(new LabelValueBean(
                resource.getMessage(locale,"survey.question.type.5"),
                "5"));
        request.setAttribute(Global.ELEMENT_TYPE_KEY, list);

Dit kun je natuurlijk ook geautomatiseerd vullen.

En vevolgens in de jsp iets als:
Java Server Page:
1
2
3
4
<logic:iterate id="type" name="elementTypes">
  <bean:write name="type" property="label"><br />
  <bean:write name="type" property="value"><br />
</logic:iterate>

Dit voorbeeld gaat uit van label value beans. Waarbij je een id en een title op zou kunnen geven, maar je zou ook gewoon strings in de collection op kunnen slaan waardoor je op de geitereerde elementen niet meer een property hoeft aan te roepen.
[/code]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • momania
  • Registratie: Mei 2000
  • Laatst online: 08:51

momania

iPhone 30! Bam!

Janoz schreef op 10 maart 2004 @ 08:51:
Ik zou het zelf niet in het form zetten. Het hoort namelijk niet in een formulier.
Mja, true.

Ben zelf ook druk met struts en net veel bezig geweest met de html:select en de html:optionsCollection en aangezien dat wel in de Form zit zal ik het even in de war hebben gehaald :P

Neem je whisky mee, is het te weinig... *zucht*


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 26-05 00:01

Janoz

Moderator Devschuur®

!litemod

Het stukje hierboven is stiekum trouwens ook van een select ;). De keuzemogenlijkheden sla ik wel o pin het request. Alleen het ID van de gemaakte keuze komt in het form terecht.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Ik zie nu pas dat jullie nog wat hebben geschreven. Op zich kan ik het niet toepassen op mijn project(grafisch te gecompliceerd), maar het is wel de beste manier.
Pagina: 1