2012-11-17 3 views
2

나는 새로운 torquebox (JBOSS) 응용 프로그램 서버를 사용하여 놀았지만 지금까지 볼 수있는 것처럼 루비 응용 프로그램은 Java 웹 응용 프로그램과 분리되어있는 것처럼 보입니다. 그것은 그들이 별개의 webapps로서 사일로에서 뛰는 것과 같고 그것들을 블렌딩하는 것은 그 세션들이 공유 될 수 있다고 읽었지 만 불분명합니다. 그것은 멋집니다.JRuby를 사용하여 Java EE 서블릿에서 JSP 바꾸기 Webapp

Java EE Servlet JSP 스타일로 작성된 일반적인 웹 응용 프로그램이 있는데 사용중인 JSP 대신 루비를 내 프레젠테이션 계층 논리로 사용할 수 있기를 원합니다.

웹 요청 컨텍스트에서 루비 리소스를 실행할 수 있어야합니다. 아파치 mod_ruby가 rhtml을 처리하는 것과 비슷합니다 ... (목표 : 바람둥이 또는 JBoss에서 트리니다 드 또는 토크 박스를 사용하도록하십시오)

예를 들어, 내 Java 패키지를 호출 할 수있는 HelloWorld.jsp를 대체 할 수 있습니다. .) (HelloWorld.rhtml 또는 .rb)? JRuby이기 때문에 자바 클래스를 호출 할 수도 있습니다 ...

RoR 앱을 별도로 만들고 sinatra를 만들 수 있지만 자바 웹 애플리케이션에서는 루비가 필요없고 루비 웹 애플리케이션에서는 Java가 필요합니다.

Torquebox 또는 Trinidad에서 현재 내가 무엇을 요구하는지 알 수 있습니까?

답변

0

여전히 JSP가 붙어 있습니다.

하나의 옵션은 JRuby의 jar를 재사용하는 것입니다.

나는 자바 EE 서블릿 JSP 스타일에 내장 된 기존의 웹 응용 프로그램을 가지고 있고 대신 의 프레젠테이션 계층 로직 사용하고있는 JSP로 루비를 사용할 수 있도록하려면 .

작동하지 않을 것입니다. 루비는 프리젠 테이션에 사용되지 않습니다. Rails 프레임 워크는 루비를 실행하는 erb.html을 허용하지만, 페이지가로드 될 때 한 번 발생합니다. 나머지는 주로 Rails Helpers/JQuery로 표시됩니다.

이렇게 생각해 보겠습니다. 루비 변수로 무엇을 할 것입니까? JSP로 그걸로 할 수있는 일이 많지 않기 때문에 막 다른 길로 인도 할 것이라고 생각합니다.

진짜 질문은 Ruby에서 Java \ JavaScript가 할 수없는 것을 무엇입니까?

프리젠 테이션을 위해 JSP 태그를 쉽게 작성하는 데 도움이되는 것들을 살펴 보는 것이 좋습니다. IceFaces와 같은 것. 성취하고자하는 바에 따라 표현 언어로만 제한됩니다.

0

가장 확실하게 할 수 있지만 일을 준비하려면 약간의 운동이 필요합니다. 당신이 루비가 아니라 당신은 단순히 당신의 CLASSPATH 상에 JRuby를-complete.jar을 추가 자바를 사용하여 루비 하나를 사용하여 자바 웹 응용 프로그램으로 원하기 때문에

(당신이해야합니다 당신이 어떤 보석이 필요하지 않습니다 가정 stdlib - ERB가 있습니다). 보석이 필요한 경우 Warbler와 함께 gem.jar를 패키지 할 수 있습니다.

당신은 V (루비 : 용) ... 예를 들어, 당신의 MC 연결됩니다 통합 레이어를 작성해야 자바 측에서보다컨트롤러에서 "렌더링"을 할 때 Java에서 Ruby 코드를 실행해야 할 때 하나의 옵션이 http://jruby.org/apidocs/org/jruby/embed/ScriptingContainer.html을 사용하거나 org.jruby.Ruby API를 직접 (부팅하고) 사용할 수 있습니다.

erb 출력을 가져 와서 응답 문자열로 끝나야하는 Java 문자열/io로 변환하는 것보다 ... 물론 이것은 "개념적"대답 일 것입니다. 도로를 따라 해결할 수있는 장애물.