2014-05-16 3 views
4

JSP 페이지에서 환경 변수에 액세스하려면 어떻게해야합니까? 암시 적 객체 중 하나가 해당 객체에 대한 액세스 권한을 부여합니까? 이 특정 문제를 해결하는 예제를 찾을 수 없습니다. 이상적으로 내가 좋아하는 뭔가를 찾고 있어요 :JSP 페이지에서 환경 변수에 액세스하는 방법

<c:set var="where" value="${myEnvironment.machineName}"> 
+1

어떻게 * * 환경 변수 *를 정의합니까? –

+0

환경을 말할 때. OS 또는 JVM을 의미합니까? –

+0

가능한 복제본 [this] (http://stackoverflow.com/questions/10463323/getting-environment-variables-value-in-java) –

답변

4

당신이 읽을 수있는 속성은 서버에서 파일을 ServletContextListener를 사용하여-시작하고 어디에서나 응용 프로그램에서 액세스 할 수 응용 프로그램 범위 속성으로 저장합니다. 따라야 할

단계 :

.properties의 :

machineName=xyz 

의 web.xml :

<listener> 
    <listener-class>com.x.y.z.AppServletContextListener</listener-class> 
</listener> 

AppServletContextListener.java :

public class AppServletContextListener implements ServletContextListener { 

    private static Properties properties = new Properties(); 

    static { 
     // load properties file 
     try { 
      // absolute path on server outside the war 
      // where properties files are stored 

      String absolutePath = ..; 
      File file = new File(absolutePath); 
      properties.load(new FileInputStream(file)); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

    } 

    @Override 
    public void contextDestroyed(ServletContextEvent servletContextEvent) { 

    } 

    @Override 
    public void contextInitialized(ServletContextEvent servletContextEvent) { 
     servletContextEvent.getServletContext(). 
            setAttribute("myEnvironment", properties); 
    } 
} 

JSP :

그러면 EL의 Map으로 처리 할 수 ​​있습니다.

${myEnvironment['machineName']} 

이상에 대한 JSTL 코어 c:set 태그

<c:set> 태그 읽기

${myEnvironment.machineName} 

setProperty 행동의 JSTL 친화적 인 버전입니다. 이 태그는 표현식을 평가하고 그 결과를 사용하여 JavaBean 또는 java.util.Map 객체의 값을 설정하기 때문에 유용합니다.

<c:set> 태그는 다음 한 속성 : 대상을 지정하면

enter image description here

이 속성도 지정해야합니다. 그것은 HERE


당신이 샘플 코드를 찾는 경우에 대해

여기에 찾을 자세히 알아보십시오. 아래 게시물에서 찾으십시오. 도움이 될지도 모릅니다. 다른 범위에


더 많은 샘플

  • JSP - Standard Tag Library (JSTL) Tutorial

    Acces value between two jsp with jstl

    • .귀하의 경우에는

      <%-- Set scoped variables --%> 
          <c:set var="para" value="${41+1}" scope="page" /> 
          <c:set var="para" value="${41+1}" scope="request" /> 
          <c:set var="para" value="${41+1}" scope="session" /> 
          <c:set var="para" value="${41+1}" scope="application" /> 
      
          <%-- Print the values --%> 
          <c:out value="${pageScope.para}" /> 
          <c:out value="${requestScope.para}" /> 
          <c:out value="${sessionScope.para}" /> 
          <c:out value="${applicationScope.para}" /> 
      

      당신은 기본적 page 범위 속성 where을 설정했습니다.

    +0

    이 질문에 대한 답변을 생각하지 않습니다. 환경 변수를 value = ""절에 넣을 수 있습니까? 나는 그 대답이 '아니오'라는 인상을 받지만 결코 그 질문에 직접 답하지 않습니다. – developerwjk

    +0

    @developerwjk 예 내 게시물을 업데이트 중입니다. – Braj

    관련 문제