21.7.29 JSでJSTLを混用
4430 ワード
JavaScript-JSTL
エラーの例
function planSchSubmit(){
<c:choose>
<c:when test="${selected_date} eq $('#startDate').val()">
var selected_startDate = ${selected_date} + ' ' + $('#startTime option:selected').val();
$('#startDate').attr('value', selected_startDate);
</c:when>
<c:otherwise>
var selected_startDate = $('#startYMD').val() + ' ' + $('#startTime option:selected').val();
$('#startDate').attr('value', selected_startDate);
</c:otherwise>
</c:choose>
var selected_endDate = $('#endYMD').val() + ' ' + $('#endTime option:selected').val();
$('#endDate').attr('value', selected_endDate);
$("#postSch").attr("action","insert.sch").submit();
};
正しい例
function planSchSubmit(){
var selectedDate = '<c:out value = "${selected_date}"/>';
또는
var selectedDate = '${selected_date}';
if(selectedDate == $('#startDate').val()){
var selected_startDate = ${selected_date} + ' ' + $('#startTime option:selected').val();
$('#startDate').attr('value', selected_startDate);
} else{
var selected_startDate = $('#startYMD').val() + ' ' + $('#startTime option:selected').val();
$('#startDate').attr('value', selected_startDate);
}
var selected_endDate = $('#endYMD').val() + ' ' + $('#endTime option:selected').val();
$('#endDate').attr('value', selected_endDate);
$("#postSch").attr("action","insert.sch").submit();
};
<変数の設定>첫번째 방법 : var selectedDate = '<c:out value = "${selected_date}"/>';
또는
두번째 방법 : var selectedDate ='${selected_date}';
どうしたんですか.
第一に、JSPの実行順序はjava->JSTL->HTML->JAVASCIPT
第2に、に出力されると<.>自動的に<>に変換されます.
$を使用した出力はそうではありません.したがって、出力された値内で
XSSを攻撃する?
https://noirstar.tistory.com/266
だから2つ目の方法よりも1つ目の方法が好きです.
Reference
この問題について(21.7.29 JSでJSTLを混用), 我々は、より多くの情報をここで見つけました
https://velog.io/@alsrnr45/21.7.29-JS에서-JSTL-혼용해서-쓰기
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
function planSchSubmit(){
<c:choose>
<c:when test="${selected_date} eq $('#startDate').val()">
var selected_startDate = ${selected_date} + ' ' + $('#startTime option:selected').val();
$('#startDate').attr('value', selected_startDate);
</c:when>
<c:otherwise>
var selected_startDate = $('#startYMD').val() + ' ' + $('#startTime option:selected').val();
$('#startDate').attr('value', selected_startDate);
</c:otherwise>
</c:choose>
var selected_endDate = $('#endYMD').val() + ' ' + $('#endTime option:selected').val();
$('#endDate').attr('value', selected_endDate);
$("#postSch").attr("action","insert.sch").submit();
};
function planSchSubmit(){
var selectedDate = '<c:out value = "${selected_date}"/>';
또는
var selectedDate = '${selected_date}';
if(selectedDate == $('#startDate').val()){
var selected_startDate = ${selected_date} + ' ' + $('#startTime option:selected').val();
$('#startDate').attr('value', selected_startDate);
} else{
var selected_startDate = $('#startYMD').val() + ' ' + $('#startTime option:selected').val();
$('#startDate').attr('value', selected_startDate);
}
var selected_endDate = $('#endYMD').val() + ' ' + $('#endTime option:selected').val();
$('#endDate').attr('value', selected_endDate);
$("#postSch").attr("action","insert.sch").submit();
};
첫번째 방법 : var selectedDate = '<c:out value = "${selected_date}"/>';
또는
두번째 방법 : var selectedDate ='${selected_date}';
$を使用した出力はそうではありません.したがって、出力された値内で
XSSを攻撃する?
https://noirstar.tistory.com/266
だから2つ目の方法よりも1つ目の方法が好きです.
Reference
この問題について(21.7.29 JSでJSTLを混用), 我々は、より多くの情報をここで見つけました https://velog.io/@alsrnr45/21.7.29-JS에서-JSTL-혼용해서-쓰기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol