나는이 다소 무식한 질문에 대해 미리 사과하지만 지난 주 내내 가능한 한 많이 조사했습니다. 마지막 최후의 수단은 스택 오버 플로우에있는 사람들이 가장 똑똑하다는 사실을 알고 있기 때문에 여기에 왔습니다.Play Framework의 모든 웹 페이지에서 실행해야하는 코드는 어디에 두어야합니까?
나는 회사 위임에 따라 최근 Play로 전환 한 ASP.NET 사용자입니다. 나는 조금 길다. MVC는 나에게 처음 접했고 ORM은 나를 완전히 무서워합니다.
나는 playframework.org에 대한 튜토리얼을 살펴 봤고 블로그 엔진을 만들 수 있었지만 튜토리얼의 코드를 내 프로그램으로 옮겨 적어서 실제로 배운 것 같지 않습니다. 아무것도.
이제 .NET 웹 사이트의 PLay 버전을 작성해야합니다. 그래서 내 질문에.
내 게임의 각 웹 페이지에서 거대한 HTML 문자열을 생성하는 Java 코드를 실행 한 다음 해당 HTML 문자열을보기의 레이블에 어딘가에 침투해야합니다. 100 라인 함수와 같아서 클라이언트로 렌더링하는 문자열을 반환합니다. 내 .NET 웹 사이트에서 나는 단지 이것을 내 마스터 페이지의 "코드 숨김"에 넣었다.
문제는 Play의 마스터 페이지에 코드 숨김이없는 것입니다. 그렇다면이 모든 자바 코드를 모든 페이지에서 실행해야하는 곳은 어디입니까? 컨트롤러를 살펴보기 시작했는데 렌더링 함수로 전달할 객체가 아니 었습니다. 이것은 100 라인 함수로 많은 로직을 수행하고 거대한 문자열을 반환합니다. 모든 화면에이 코드가 필요하므로 제어기 레벨에 두는 것이 적절하지 않습니다. 매번 "렌더링"을해야하기 때문에 100 개의 동작을해야하기 때문입니다.
정말로 더 큰 질문입니다. 코드가 모델이 아니며 컨트롤러에서 실제로 이해가되지 않는 경우 Play에서 어디에서 고정합니까? 어쨌든, 미리 감사드립니다. 나는이 모든 "렌더링"을 위해 통과해야 할 것 때문에,
건배 조쉬
그는 또한 미리 렌더링 된 HTML을 반환하기 때문에 raw : $ {yourLabel.raw()}를 사용해야합니다. –
또한 bigFunction은 동작으로 노출되지 않도록 보호해야합니다. –
나는 반대하지 않을 것이지만 반드시 필요한가요?/bigFunction에 액세스 할 때 404가 표시됩니다. –