2017-07-31 5 views
0

Je travaille sur la migration de Struts 1.x vers Struts 2.x et je fais face à des problèmes lors de l'affectation de Scriptlet en valeur textarea.Struts 1.x à Struts 2.x Problèmes de migration pour Scriptlet dans le champ s: textarea

Le code suivant a été écrit en 1.x Struts ci-dessous:

<html:textarea name="shareFeedbackForm" style="height:50px;" 
           property="checkAllRemarks(${shrFeedbackHelperForm.groupId})" rows="1" cols="20" 
value = '<%=(String)checkedMap.get(Long.parseLong((String)session.getAttribute("gId"))) %>' styleId="${shrFeedbackHelperForm.groupId}" onkeydown="limitRemarksText(this,500);" onkeyup="limitRemarksText(this,500);"></html:textarea> 

J'ai essayé de réécrire la même chose dans Struts expression 2.x:

<s:textarea style="height:50px;" 
name="webform.checkAllRemarks(%{#attr.shrFeedbackHelperForm.groupId})" rows="1" cols="20" value = '<%=(String)checkedMap.get(Long.parseLong((String)session.getAttribute("gId"))) %>' id="%{#attr.shrFeedbackHelperForm.groupId}" onkeydown="limitRemarksText(this,500);" onkeyup="limitRemarksText(this,500);"></s:textarea> 

Mais , J'obtiens erreur dans la page où l'attribut la valeur n'autorise pas les expressions. Quelle est la manière correcte d'affecter le scriptlet dans la page JSP pour le framework Struts 2.x?

+0

S'il vous plaît lire [Dans quelles circonstances j'ajouter « urgent » ou d'autres similaires des phrases à ma question, afin d'obtenir des réponses plus rapides?] (// meta.stackoverflow.com/q/326569) - le résumé est que ce n'est pas un moyen idéal de s'adresser aux volontaires, et il est probablement contreproductif d'obtenir réponses. Merci de ne pas ajouter ceci à vos questions. – halfer

Répondre

2

Vous pouvez ajouter Scriptlet dans STRUTS 2 comme suit

<% 
String str=request.getAttribute("tDate").toString(); 
%> 

<s:textfield value=<%=str %> name="toDate" id="toDate" /> 

S'il vous plaît essayez le code suivant

<s:textarea style="height:50px;" 
name="webform.checkAllRemarks(%{#attr.shrFeedbackHelperForm.groupId})" 
rows="1" cols="20" value = '<%=checkedMap.get(Long.parseLong(session.getAttribute("gId"))).toString() %>' id="%{#attr.shrFeedbackHelperForm.groupId}" 
onkeydown="limitRemarksText(this,500);" onkeyup="limitRemarksText(this,500);"></s:textarea> 
+0

Merci Pawan. Je reçois le même problème après avoir ajouté l'expression de valeur comme: value = '<% = checkMap.get (Long.parseLong (session.getAttribute ("gId"). ToString()))%>' –

+0

pourquoi vous faites Long .parseLong() ici? –

+0

Parce que checkedMap est le type de données de carte avec la clé aussi longtemps et la valeur que la chaîne. –