2013-12-20 2 views
1

스트럿츠에 새로운 기능이므로이 문제는 기본 개념이 될 수 있으므로 문제가 있습니다.스크립틀릿에서 스트럿츠 taglib id에 액세스하는 방법

Multiple annotations found at this line: 
    - tablebuffer cannot be resolved to a 
    variable 
    - tablebuffer cannot be resolved to a 
    variable 

그것을인가 :

<%@ taglib uri="/WEB-INF/tlds/copytag.tld" prefix="util" %> 
... 
... 
<util:copyTag id="tablebuffer" > 
.... 
</util:copyTag> 

<% 
     Hashtable h=new Hashtable(); 
     String Key = "key1"; 
     h.put(Key,tablebuffer); 
%> 
일식이 코드를 사용하여 라인 h.put(Key,tablebuffer);이 팝업 텍스트와 함께 빨간색 마커를 제공합니다

나는 스크립틀릿 내부 의 ID에 액세스 코드를 ID를 변수로 사용하거나 가능한 다른 방법이 있습니다. 실제로 나는이 코드를 받았고 코드가 잘 작동한다고 말했습니다. 그러나 이클립스에서 코드를 구성했을 때 위에서 언급 한 문제에 직면했다.

이 문제와 관련하여 도움을 받으십시오.

답변

2

유일하게 가능한 대답은 :

  1. 결코 사용 스크립틀릿 더 이상 : they're a bad practice.
  2. 더 이상 Struts1을 사용하십시오 : it is EOL.

아파치 스트럿츠 1의 단종 (EOL) 발표 스트럿츠 1.x에서 웹 프레임 워크의 수명이 다하고있다했다는 아파치 스트럿츠 프로젝트 팀을 알려드립니다

더 이상 공식적으로 지원되지 않습니다.

[...]

우리는 우리가 아직 그렇게 할 수 스트럿츠 1을 기반으로 새 프로젝트를 시작할 계획

?

기본적으로 그렇지만 권장하지는 않습니다. 코드 라인이 작성되지 않는 한, Struts 2와 같은 대체 웹 프레임 워크를 개념적으로 선택하는 것은 매우 쉽습니다.

또한 Struts 2는 더 쉽고 강력합니다. (대용량 S1 프로젝트를 유지 관리하지 않음), 대안으로 전환하거나 (JSF 2, Spring MVC 등)

+1

읽는 중 : http://stackoverflow.com/a/20582406/1654265 –

+0

귀하의 회신에 감사드립니다. struts2를 사용했을 것입니다. 그러나 프로젝트는 스트럿츠 1을 사용하여 개발되었으며 모듈 하나를 수정해야합니다. 주어진 상황에서 언급 된 문제에 대한 해결책을 제안 할 수 있다면 큰 도움이 될 것입니다. –

+1

그렇다면 Struts1을 사용해야하지만 강제로 Scriptlet을 사용하지 않아도됩니다. ** JSTL **은 귀사를 돕기 위해 노력하고있는 기존 부품의 리펙터로 시험해보십시오. 죄송합니다. 오류는 나에게 아무 말도하지 않지만, 아마도 스크립트 릿 대신 앞서 언급 한 태그 라이브러리를 사용하여 사라지거나 길어집니다. –

관련 문제