2014-08-28 2 views
1

나는 다음과 같은 자바 스크립트가 : 나는 또한 위의 formsubmits() 버튼을 인코딩 된 문자가 제출되고

var form = document.createElement("form"); 
    form.method = "post"; 
    form.action = "${pageContext.request.contextPath}/login?action=login"; 
    form.id = "loginForm"; 

이 문제가 submit()이 브래킷을 {를 대체하여 링크를 실행한다는 것입니다 및 ASCII 코드가 포함 된 } 브라우저에서이 같이 나타납니다

"$%7BpageContext.request.contextPath%7D/login?action=login" 

... 대신 :

"${pageContext.request.contextPath}/login?action=login" 

내 질문 : 어떻게 {%7B%7D을 대체 할 브라우저를 강제 할

  • }?
  • 어떻게 submit() 디코딩 된 링크를 시작할 수 있습니까?
+2

해고되기 전에 조치가 해독되기를 원합니다. 그렇지 않으면 URL은 변수 이름 일뿐입니다. –

+2

* 문자 그대로 * URL이 'http://example.com/$ {pageContext.request.contextPath}/login? action = login'이 되길 원하십니까? –

+0

정확하게 "링크를 실행"한다는 것은 무엇을 의미합니까? –

답변

0

나는 문제가 무엇인지 발견 : 그것은 자바 스크립트 파일 내에서가 아닌 JSP에서 변수 안에 때문에

"${pageContext.request.contextPath}"

가 문자 그대로 해석했다. 나는 변수 ROOTPATH ​​= "$ {pageContext.request.contextPath ▣"이후

"form.action = rootPath + "/login?action=login";" 

이제 모든 것을 원하는대로 작동을 선언했다.

관련 문제