2008-09-15 7 views
3

Existe-t-il un moyen de sous-chaîne dans les fichiers JSP en utilisant les technologies struts2? Je veux dire, struts2 a son propre taglib et utilise aussi ognl. Comment puis-je obtenir une sous-chaîne à partir d'une valeur empilée ou d'une valeur de bean?Comment faire une sous-chaîne dans jsp?

Répondre

0

Attention à la bibliothèque de fonctions dans certaines situations, en particulier lors de l'utilisation Websphere à déployer! La société pour laquelle je travaille se déploie sur Websphere 6.0 version 11, qui ne supporte pas correctement la bibliothèque de fonctions (elle ne fonctionne pas correctement lorsqu'elle est placée dans un corps de balise). Je me rappelle quelque part qu'ils l'ont corrigé dans la version 13. Vous pouvez toujours créer votre propre balise JSP pour faire n'importe quoi, alors vous pouvez le faire pour contourner le problème.

1

Ne pas. Si vous avez besoin d'analyser des données (sous-chaîne) dans votre JSP, vous mélangez probablement la logique métier (comment ça marche) avec votre logique de présentation (comment elle est affichée) - elles doivent être séparées. Si vous faites beaucoup de conditionnels, de calculs, d'analyse, etc. dans vos JSP, alors vous créez beaucoup de (future) douleur pour vous-même. Au lieu de cela, séparez ces préoccupations - rendre le JSP simple, sans autre logique que d'afficher des données telles quelles ou pas du tout, plus des boucles simples si nécessaire. Mettez toute la logique non triviale dans une classe Java qui pousse les données dans la JSP, où vous aurez toute la puissance de Java disponible. Autant que vous le pouvez, faites en sorte que les JSP ne soient qu'un mince "skin" sur votre application Java.

Pour une discussion détaillée, voir le livre blanc de Terence Parr au http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf. Epargnez-vous beaucoup de chagrin et de maintenance.

+2

conseils utiles en général, mais ne répond pas à la question. Dire qu'il y a 0 cas où cela est utile est un peu extrême. – demongolem

0
fn:substring(YOUR_FIELD, START_INDEX, END_INDEX) 

par exemple si vous voulez obtenir les 3 premiers caractères d'une chaîne, vous pouvez le faire:

${fn:substring('scrooge', -1, 3)} 

est l'espace de noms XML, vous pouvez utiliser ici, il devrait être la même adresse un <% incluent%> déclaration

xmlns:fn="http://java.sun.com/jsp/jstl/functions" 
1

Struts2 utilise OGNL. Cela signifie que vous pouvez appeler des méthodes d'objets directement dans les tags S2.

comme ceci:

<s:property value="str.substring(0, 5)"/>