2014-12-24 1 views
2

안녕하세요 친구 s : textfield 값 "< % = custFirstName %>"에 암호 해독 값 표현식을 쓰려고하는데 오류가 발생합니다. 즉, 태그 파일의 TLD 또는 속성 지시문에 대한 속성 값은 어떤 표현식도 허용하지 않으므로 같은 것을하기위한 대체 방법은 무엇입니까? 제발 도와주세요. INPUT 형식에서 잘 작동하지만 struts tage를 통해 동일한 작업을 수행하려고합니다. <s : textfield value "">

내 코드

<s:iterator value="userList"> 
     <s:set var="custFirstName" value="custFirstname"/> 
     <s:set var="custLastName" value="custLastname"/> 
     <s:set var="custEmail" value="custEmail"/> 
     <s:set var="custPhone" value="custPhone"/> 
     <s:set name="custVerified" value="custIsVerified"/> 
     <% 
     String custFirstName = pageContext.getAttribute("custFirstName").toString(); 
     String custLastName = pageContext.getAttribute("custLastName").toString(); 
     String custEmail = pageContext.getAttribute("custEmail").toString(); 
     String custPhone = pageContext.getAttribute("custPhone").toString(); 

     Encryption encryption=new Encryption(); 
     custFirstName = Encryption.decString(custFirstName); 
     custLastName = Encryption.decString(custLastName); 
     custEmail = Encryption.decString(custEmail); 
     custPhone = Encryption.decString(custPhone); 
    %> 




      <td> <s:textfield value="<%=custFirstName%>" label="First Name"/></td> 
      <%-- <input type="text" value="<%=custFirstName%>" > --%> 
      <td> <s:textfield name="custLastName" label="Last Name"/></td> 
      <td> <s:textfield name="custEmail" label="Email"/></td> 
      <td> <s:textfield name="custPhone" label="phone"/></td> 
      <td> <s:textfield name="custCountry" label="Country"/></td> 
      <td> <s:textfield name="custState" label="State"/></td> 
      <td> <s:textfield name="custCity" label="City"/></td> 
      <s:submit value="Update"></s:submit> 

    </s:iterator> 

</s:form> 



<input type="text "value="<%=custFirstName%>"> 

내가이의에 입력 값 식 위에 쓰고 싶은 : 텍스트 필드의 값을 = ""내가 할 수있는 방법.

+0

<% = custFirstName %>이 (가) scriplet 값입니까? – goodyzain

+0

scripplet 표현 – Harshit

+0

스크립틀릿은 JSP에서는 권장되지 않으며 struts 태그에서는 허용되지 않습니다. 더 나은 접근 방식을 사용해야합니다. 왜 JSP에 비즈니스 로직을 작성해야합니까? –

답변

0

당신은 같은 것을 사용할 수 있습니다

당신은 value 속성을 설정하는 데 필요한
<td> <s:textfield value="%{#custFirstName}" label="First Name"/></td> 
+0

나는 이것을 사용하지만 나에게 보여 준다. 암호화 된 값은 암호 해독되지 않은 값인 것. – Harshit

+0

값을 해독 한 후에 c : set 태그를 가져 와서 반영한다. 암호화 된 값보다는 암호 해독 된 값. – SMA

+0

여전히 작동하지 않습니다 – Harshit

0

, 맞아,하지만 그것은 OGNL 표현해야한다.

Encryption encryption=new Encryption(); 
custFirstName = Encryption.decString(custFirstName); 
custLastName = Encryption.decString(custLastName); 
custEmail = Encryption.decString(custEmail); 
custPhone = Encryption.decString(custPhone); 
ValueStack vs = ActionContext.getContext().getValueStack(); 
vs.set("custFirstName", custFirstName); 
vs.set("custLastName", custLastName); 
vs.set("custEmail", custEmail); 
vs.set("custPhone", custPhone); 

그리고 당신은 당신이 Struts 2 Value Stack/OGNL을 보일 수 있습니다 OGNL

<s:textfield name="custFirstName" value="%{#custFirstName}" label="First Name"/> 

... 

를 사용할 수 있습니다.

+0

아니 그것의 작동하지 않습니다 보여줍니다 나 암호화 된 값을 복호화되지 않은 값 – Harshit

+0

이'암호화 '클래스는 무엇을하고 있는지 모르지만 해독 된 값은 텍스트 필드의 JSP에 표시됩니다. –

관련 문제