2017-01-18 15 views
0

참고 : Angular 및 Java 작업에 대한 더 많은 경험을 얻은 후에이 게시물을 수정합니다. 이것은 새로운 질문 게시를 피하기위한 것입니다.AngularJS 코드 내에서 JSP C 태그 사용

지난 몇 개월 동안 다른 모델을 사용하여 JSP 코드 내에 재사용 가능한 AngularJS 부품을 구현하고 마침내 jsp include 지시문 <%@include file="form-part.jsp" %>을 사용하기로 결정했습니다. 이것은 잘 작동하며, 유일한 문제는 C Tags을 사용할 때 가독성 문제입니다.

리소스 파일 (.properties의) :

formhtml5.jsp.photoSubjectFront=Subject Front 
formhtml5.jsp.photoSubjectStreet=Subject Street 
formhtml5.jsp.photoSubjectRear=Subject Rear 

이어서를 각도, 한 방향으로 상기 변수를 사용하기 위해 다음과 같이

는 예를 들어, 변수는 이클립스 리소스 파일에 정의 된 JSP에서

HTML이

<fmt:message key="formhtml5.jsp.photoSubjectFront" scope="request" var="photoSubjectFront"/> 
<fmt:message key="formhtml5.jsp.photoSubjectStreet" scope="request" var="photoSubjectStreet"/> 
<fmt:message key="formhtml5.jsp.photoSubjectRear" scope="request" var="photoSubjectRear"/> 
... 
... 
<div class="photos-container" 
    ng-init="subjectPhotos = 
          [{fieldName:'subject_front', 
           title:'${photoSubjectFront}'}, 
          {fieldName: 'subject_street', 
           title: '${photoSubjectStreet}'}, 
          {fieldName: ''subject_rear, 
           title: '${photoSubjectRear}'} 
          ]"> 
... 
... 
</div> 
파일 : 나는 (당신이 JSP 파일 내의 변수 이름을 사용해야하기 때문에) 다음과 발견 0

알아두면 위의 HTML 코드 블록을 읽기가 쉽지 않습니다.

범위 변수 subjectPhotos을 초기화하고 초기화시 JSP 변수 ${photoSubjectFront}을 사용하는 가장 좋은 방법은 무엇입니까?

훨씬 더 읽을 수있는 <script> 블록에서 그렇게 할 수 있을지 생각하고 있었지만 정상적인 스크립트 블록에서 범위 변수에 액세스 할 수 있는지 확실하지 않았습니다.

의견을 보내 주십시오.

이전 게시물 :

나는 지난 3-4개월에 대한 각도 사용 기반 응용 프로그램 형태를 개발했습니다. 개발 된 양식 (HTML5 + Script)을 재사용 가능한 구성 요소 또는 부품으로 변환 할 수 있도록 다음 단계로 이동할 준비를하고 있습니다. 개발은 Eclipse, Java (JSP + Servlets), 물론 HTML5, JavaScript (Angular) 및 CSS를 사용하여 수행되었습니다.

이전에는 ASP.NET, 마스터 페이지 및 사용자 컨트롤을 사용하여 성공적으로 수행했습니다.

내가 찾고있는 것은 HTML5와 코드 모두에 대해 모듈화되고 재사용 가능한 폼 파트를 생성하여 레이아웃과 로직의 사소한 변경으로 동일한 부분을 가진 다른 폼에서 쉽게 재사용 할 수있는 방법입니다.

현재 코드를 위해서만하고 있습니다. 저는 재사용 성 관점에서 실제로 기대하고있는 각도 명령, 서비스 및 컨트롤러를 개발했습니다. 유일한 문제는 HTML5 (레이아웃)를 재사용 가능하게 만드는 방법입니다.

좀 연구를했고 나는 몇 가지 옵션을 나열 할 수 있습니다 : ASP.NET 마스터 페이지와 유사하다

  1. 를 사용하여 자바 기반의 프레임 워크를. 몇 가지 옵션을 찾았습니다.

  2. 각도 지시문 및 템플릿을 사용하십시오. 여기서 문제는 HTML 부분을 나타내는 매우 긴 문자열을 작성해야한다는 것입니다. 이것이 혼란 스럽다고 생각합니다. 재사용 할 수있는 HTML 부분을 별도의 파일로 저장하고 지시어 등에 포함시키는 방법이 있기를 바랍니다.

  3. JSP를 사용하여 재사용 가능한 부분을 개발하고 기본 폼에 포함하십시오. jsp include 지시문 <%@include file="form-part.jsp" %>을 사용하여 재사용 가능한 양식 부분을 포함 할 수 있습니다.

나는 가장 적절한 것을 선택할 수있는 가능한 옵션을 평가 중입니다.

이 요구 사항을 달성하는 데 도움이 될 샘플이나 튜토리얼을 알려주십시오.

참고 : 좋은 시작일 것입니다. tutorial을 발견했습니다.

의견을 보내 주십시오.

타렉은

+0

가 대신 오 template''에서 HTML 문자열, 당신은 경로 t을 제공 할 수 있습니다 o 지시어/구성 요소에서'templateUrl' 속성을 사용하여 html 파일을 만듭니다. – Developer

답변

0

당신이 지금하는 angular2 이야기 경우 AngularJS와 또는 angular.io는 구성 요소를 사용합니다.

구성 요소 시작을 생성하기 위해 구성 요소 모양을 생성하는 각도 복제를 살펴보십시오.

+0

Angular2는 아직 100 % 성숙하지 않았기 때문에 Angular2를 사용하지 않기로 결정했습니다. 또한 Angular2를 배우기 시작했을 때 Angularjs보다 어려워 보였습니다. – tarekahf

1

재사용 가능한 양식을 개발하는 가장 좋은 방법은 html templateUrl을 사용하는 지침입니다. 이 신고 오류에 올 때 NG-메시지를 사용하십시오 http://ng-learn.org/2014/02/Writing_Custom_Validitions/

: 당신은 아마하여 '템플릿'기능

return { 
      replace: true, 
      templateUrl: 'some_form_template.html', 
      // template: '<div>Hello World</div>' 
} 

당신도 검증을 만들 지시어를 사용하여 특별한 검증을 사용에 관해서 사용하는/겨 메시지 지침 : https://docs.angularjs.org/api/ngMessages/directive/ngMessages

이 질문은 이미 asnwerd있다 : How to create a angular input directive that works with form validation

+0

고마워요! 네,'templateUrl'은 확실히 좋은 선택이 될 것입니다. 'templateUrl'을 사용하여 재사용 가능한 폼 파트를 구현하는 데모 또는 샘플을 가르쳐 주시면 좋을 것입니다. – tarekahf