내 예제에는 f : selectItems-attribute가있는 selectOneMenu가 있습니다. 선택-항목이처럼 내 빈에서 해결 :JSF SelectItems 및 이스케이프 (xss)
<h:selectOneMenu value="#{bean.value}">
<f:selectItems value="#{bean.selectItems}" var="obj" itemValue="#{obj}" itemLabel="#{obj.name}"/>
</h:selectOneMenu>
메소드 getSelectItems()를 내 콩에는 다음과 같습니다 표시됩니다
public List<MyObject> getSelectItems() {
List<MyObject> list = new LinkedList<MyObject>();
MyObject obj = new MyObject("Peter");
list.add(obj);
return list;
}
객체는 속성을 가진 간단한 개체입니다 " 이름".
이 시점까지는 특별한 사항이 없습니다. 하지만 지금은 내 방법을 변경 :
이public List<MyObject> getSelectItems() {
List<MyObject> list = new LinkedList<MyObject>();
MyObject obj = new MyObject("<script>alert('xss is bad');</script>");
list.add(obj);
return list;
}
나던 MenuRenderer 클래스 내 페이지에서 탈출 얻을 자바 스크립트 나에게 경고 메시지를 보여줍니다.
SelectItem의 이스케이프 속성의 기본값이 "거짓"인 이유가 있습니까? 어떻게 문제를 해결할 수 있습니까? (저는 Mojarra 2.1.7을 사용합니다)
답변 : [여기] (http://stackoverflow.com/questions/14238646/how-to-escape-fselectitem-itemlabel-attribute) –
@VikasV : OP의 구체적인 문제는 다른 방향으로 진행됩니다. – BalusC