2010-08-19 3 views
0

여기 내 문제가 있습니다.jstl을 사용하여 문자열 변수 구문 분석

클라이언트가 URL 매개 변수에 입력하는 내용에 따라 동일한 매개 변수가 전달 된 특정 URL이 반환되고 javascript 팝업을 통해 열리는 jstl/jsp로 프로세스를 설정해야합니다. 기능.

문제점 선택 매개 변수가 시작 매개 변수 중 하나가 아니면 매개 변수 중 하나를 찾지 못한다는 것입니다. (이제 당신의 생각, '응?')

클라이언트가 전달되는 매개 변수의 목록은, 해당 매개 변수의 아웃

?name=personsname&email=personsemail&tmplatecde=7&legalid=20266998&photoURL=%2Favmedia%2Fweb%2Findex%2F25505893822%2EJPG&agentNumber=047666&FWSType=FR&des=,+CLU%AE,+ChFC%AE&postto=thenetwork.nmfn.com&agentnumber=047666&formname=FWSContactForm2&attr=FRSite 

, 나는 단지 정말 필요합니다 ... 다음과 같다 '는 FormName을.' 그러나 내가 클라이언트가 기대하는 것과 같은 쿼리 문자열을 넣으면 formname을 찾을 수 없습니다. formname 매개 변수를 'name'매개 변수 앞에 놓으면 작동합니다.

우리 회사에서는 쿼리 문자열을 가져 와서 지정된 URL에 첨부 할 수있는 사용자 정의 JSP 태그를 만들었지 만 해당 URL을 확인하기 위해 formname이 동일한 지 확인해야합니다.

누구든지 해당 양식 이름 값을 얻기 위해 문자열을 구문 분석하는 적절한 방법에 대한 아이디어가 있습니까?

지금까지

, 나는이 문제에 대한 문제가 어떤 도움을 크게 감상 할 수

<c:choose><c:when test='${param.formname == "FWSContactForm2"}' > 

것을 가지고있는 코드입니다.

+0

formname 매개 변수를 왼쪽으로 이동하고 작동 할 때까지 테스트 해보십시오. 어쩌면 다른 매개 변수 중 하나에있는 문자가 엉망입니다. – Stian

+0

JSTL과 JSP 페이지에 도달 할 때까지 쿼리 문자열은 이미 서블릿 컨테이너에 의해 분리되어있다. 모든 매개 변수가 실제로 무엇인지 알아 내서 디버깅해야하며 URL의 구문 적으로 유효하지 않은 부분을 알려주고 서블릿 컨테이너에 후행 매개 변수가 누락 될 수 있습니다. – Pointy

답변

1

정상적으로 작동합니다. 하지만이 쿼리 문자열에는 ISO-8859-1, %AE (등록 상표 ®)을 사용하여 URL 인코딩 된 특수 문자가 포함되어 있습니다. 어쩌면 servletcontainer가 잘못된 charset을 사용하여 그것을 디코딩하고 하나의 실패가 다른 문자를 따라 간다. 그 부분을 제거하고 다시 테스트하십시오. 작동하는 경우 문제의 servletcontainer URL 인코딩 구성을 조사합니다. 반면에이 쿼리 문자열을 보낼 페이지를 완전히 제어 할 수 있으면 servletcontainer가 사용하는 것과 동일한 응답 문자 집합을 설정할 수도 있습니다. 그것은 적은 일을 깰 것입니다.

+0

감사합니다. 이 정보를 통해 사용자 지정 쿼리 문자열 변수를 사용하고 formname 매개 변수를 검색하여 문제를 해결하는 방법을 파악할 수있었습니다. 이미 원활하게 작동하고있는 servletcontainer를 사용하는 것보다 쉽습니다. – Brent