Каковы преимущества использования тега <% - tag v / s <% = в ejs?
Когда следует использовать тег <%? Поскольку <% - не экранирован, не сделает ли приложение уязвимым для атак?
2 ответа
Вы будете использовать его, когда доверяете HTML в переменной.
Например, если вам нужно было запустить кусок данных через анализатор Markdown для генерации HTML.
Я покажу вам, когда вам нужно использовать каждый
СЛУЧАЙ 1 <% ** ОБЪЯВЛЯЕТ О КЛАССЕ И ОБЪЕКТАХ JAVA **%>
Я использую эту форму, когда мне нужно объявить ArrayList, например Notice & Events, после этого я могу использовать форму 1 для отображения данных в некоторой таблице
<%
boolean flag = false;
ArrayList<NoticiasyEventos> arrayNoticiasyEventos = (ArrayList<NoticiasyEventos>) request.getAttribute("arrayNoticiasyEventos");
if(arrayNoticiasyEventos != null){
flag = true;
}
%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
</html>
Случай 2 <% = ЗНАЧЕНИЕ =>
В этом случае мне нужно получить конкретное значение из сервлета, помните, что я объявил ArrayList, тогда я могу использовать этот массив, чтобы получить нужное значение
<table>
<thead>
<tr>
<th>MÓDULO</th>
<th>CATEGORÍA</th>
<th>TÍTULO</th>
<th>RESUMEN</th>
<th>DETALLE</th>
<th>FECHA NOTICIA</th>
<th>IMAGEN</th>
<th>MODIFICAR</th>
<th>ESTADO</th>
</tr>
</thead>
<tbody>
<%
if(flag){
for (int i = 0; i < arrayNoticiasyEventos.size(); i++) {
%>
<tr>
<td ><%=arrayNoticiasyEventos.get(i).getDes_mod()%></td>
<td ><%=arrayNoticiasyEventos.get(i).getDes_cat()%></td>
<td ><%=arrayNoticiasyEventos.get(i).getDes_tit()%></td>
<td ><%=arrayNoticiasyEventos.get(i).getDet_res()%></td>
<td ><%=arrayNoticiasyEventos.get(i).getDes_det()%></td>
<td ><%=arrayNoticiasyEventos.get(i).getFec_not()%></td>
<td align='center'><img id='myImg' src='<%=arrayNoticiasyEventos.get(i).getUrl_img()%>' alt='<%=arrayNoticiasyEventos.get(i).getDes_tit()%>' width='80' height='65' onclick='modalI(this);' /></td>
<td align="center"><button class='btn green-meadow' style='width: 107px;' data-target='#modal_modificar_noticias_eventos' data-toggle='modal' onclick='buscarNoticiaXId(<%=arrayNoticiasyEventos.get(i).getCod_not_eve()%>);'>EDITAR</button></td>
<td align="center"><button class='btn blue' style='width: 107px;' data-target='#modal_desabilitar_noticia' data-toggle='modal' onclick='deshabilitarNoticiaXId(<%=arrayNoticiasyEventos.get(i).getCod_not_eve()%>);'>ACTIVO</button></td>
%>
</tr>
<%
}
}
%>
</tbody>
</table>
Я надеюсь, что помог, с уважением