Тогда доступ к значению переменной spid через jstl:
${param["spid"]}
Показаны сообщения с ярлыком jstl. Показать все сообщения
Показаны сообщения с ярлыком jstl. Показать все сообщения
четверг, 22 июля 2021 г.
Получение значения параметра из URL-адреса с помощью JSTL
Пример url: "http://localhost:8080/index?param1=val1&spid=test".
вторник, 6 марта 2018 г.
Вывод даты-времени на JSTL и Java
Java:
Java (то же самое, только без переменных):
<%@ page import="java.util.Date"%>
<%@ page import="java.text.SimpleDateFormat"%>
<%
SimpleDateFormat fmt = new SimpleDateFormat("dd.MM.yyyy HH:mm");
date = new Date();
out.println(fmt.format(date));
%>
Java (то же самое, только без переменных):
<%@ page import="java.util.Date"%>JSTL:
<%@ page import="java.text.SimpleDateFormat"%>
<%out.println(new SimpleDateFormat("dd.MM.yyyy HH:mm").format(new Date()));%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<fmt:formatDate type="both" pattern="dd.MM.yyyy HH:mm" value="<%=new java.util.Date()%>"/>
суббота, 26 ноября 2016 г.
JSTL: Пример обработки двух кнопок одной формы
index.jsp:
checkbox.jsp:
отсюда
<form method="post" action="checkbox.jsp">
<P>Включите одну или несколько галочек:</p>
<P>Галочка 1
<input type="checkbox" name="mychkbox" value="Галочка 1"/></p>
<P>Галочка 2
<input type="checkbox" name="mychkbox" value="Галочка 2"/></p>
<P>Галочка 3
<input type="checkbox" name="mychkbox" value="Галочка 3"/></p>
<P>Галочка 4
<input type="checkbox" name="mychkbox" value="Галочка 4"/></p>
<P><input type="submit" name="button1" value="Кнопка 1" /></p>
<P><input type="submit" name="button2" value="Кнопка 2" /></p>
</form>
checkbox.jsp:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:choose>
<c:when test="${not empty paramValues.button1}">
<% // Проверяем, была ли нажата кнопка "Кнопка 1" %>
Вы нажали кнопку "Кнопка 1"
<c:choose>
<c:when test="${not empty paramValues.mychkbox}">
<% // Проверяем, были ли включены чекбоксы %>
и выбрали галочки:
<c:forEach items="${paramValues.mychkbox}" var="myvar">
<br><c:out value="${myvar}"/>
</c:forEach>
</c:when>
<c:otherwise>
, но не включили ни одной галочки.
</c:otherwise>
</c:choose>
</c:when>
<c:when test="${not empty paramValues.button2}">
<% // Проверяем, была ли нажата кнопка "Кнопка 2" %>
Вы нажали кнопку "Кнопка 2".
</c:when>
<c:otherwise>
<% // Заглушка на невозможный случай %>
Что-то не так. Если вы видите этот текст, обратитесь к администратору.
</c:otherwise>
</c:choose>
отсюда
четверг, 17 ноября 2016 г.
Вызов хранимой PL/SQL-процедуры с помощью JSTL
В базу была добавлена хранимая процедура:
Ее вызов из WEB-приложения организован следующим образом:
index.jsp (кроме остальной части) есть кнопка вызова страницы, вызывающей хранимую процедуру:
vacuum.jsp:
"create or replace procedure VACUUM as begin ... end"
Ее вызов из WEB-приложения организован следующим образом:
index.jsp (кроме остальной части) есть кнопка вызова страницы, вызывающей хранимую процедуру:
<form action="vacuum.jsp" method="POST">
<input type="submit" style="width:150px" value="Актуализировать" title="Убрать "мертвые души"">
</form>
vacuum.jsp:
<%@ page contentType="text/html; charset=utf-8" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<%//Антикракозябриковая кодировка
request.setCharacterEncoding("UTF-8");%>
<sql:update dataSource="${dbConnection}">
begin VACUUM; end;
</sql:update>
<%response.sendRedirect("index.jsp");%>
среда, 25 мая 2016 г.
Отображение в браузере содержимого текстового файла
Как отобразить в браузере содержимое текстового файла?
Например, лога импорта дампа - \\myserver\logs\restore.log.
Прямые ссылки (<a href="file://///myserver/logs/restore.log">show file</a>) не работают из-за ограничений безопасности браузеров (ссылка на странице отображается, но щелчок по ней ни к чему не приводит).
Решение с помощью JSTL:
Создаем jsp-страницу, например, "show_log.jsp", следующего содержания:
На главную страницу добавляем ссылку на "show_log.jsp". Теперь при щелчке по такой ссылке в браузере откроется страница с содержимым текстового файла "\\myserver\logs\restore.log".
Например, лога импорта дампа - \\myserver\logs\restore.log.
Прямые ссылки (<a href="file://///myserver/logs/restore.log">show file</a>) не работают из-за ограничений безопасности браузеров (ссылка на странице отображается, но щелчок по ней ни к чему не приводит).
Решение с помощью JSTL:
Создаем jsp-страницу, например, "show_log.jsp", следующего содержания:
<%@ page contentType="text/html; charset=utf-8" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%//Антикракозябриковая кодировка
request.setCharacterEncoding("UTF-8");%>
<pre><c:import url="file://///myserver/logs/restore.log" /></pre>
На главную страницу добавляем ссылку на "show_log.jsp". Теперь при щелчке по такой ссылке в браузере откроется страница с содержимым текстового файла "\\myserver\logs\restore.log".
вторник, 8 марта 2016 г.
Чтение файла параметров (properties-файл) через JSP с помощью <fmt:setBundle>
Файл параметров (key-value pair) можно расположить здесь (будет доступно только в рамках WEB-приложения):
Тогда в JSP-файле (например, index.jsp) обращение к файлу параметров можно обратится так:
(scope - используется для того, чтобы контекст о подключении к БД был доступен всем JSP-файлам в рамках данного WEB-приложения)
Листинг <tomcat>/webapps/<webapp>/WEB-INF/classes/myparams.properties:
<tomcat>/webapps/<webapp>/WEB-INF/classes/myparams.propertiesили здесь (будет доступно для всех WEB-приложений в рамках сервера:
<tomcat>/lib/myparams.properties
Тогда в JSP-файле (например, index.jsp) обращение к файлу параметров можно обратится так:
(scope - используется для того, чтобы контекст о подключении к БД был доступен всем JSP-файлам в рамках данного WEB-приложения)
<fmt:setBundle var="prop" basename="myparams"/>
<fmt:message bundle="${prop}" key="db.driver" var="dbDrv"/>
<fmt:message bundle="${prop}" key="db.url" var="dbUrl"/>
<fmt:message bundle="${prop}" key="db.user" var="dbUser"/>
<fmt:message bundle="${prop}" key="db.password" var="dbPswd"/>
<sql:setDataSource var="dbConnection" driver="${dbDrv}" url="${dbUrl}" user="${dbUser}" password="${dbPswd}" scope="application"/>
<sql:query var="result" dataSource="${dbConnection}" sql="select id, schemaname, azkversion, description from schemainfo" />
Листинг <tomcat>/webapps/<webapp>/WEB-INF/classes/myparams.properties:
db.driver=oracle.jdbc.driver.OracleDriver
db.url=jdbc:oracle:thin:@dbserver:1521:ORACLESID
db.user=MYSCHEMA
db.password=password
Включение JSTL в Tomcat
Скопировать jstl-1.2.jar в <tomcat>/lib/ или в <webapp>/WEB-INF/lib/
JSTL wiki page: http://stackoverflow.com/tags/jstl/info
JSTL wiki page: http://stackoverflow.com/tags/jstl/info
Подписаться на:
Сообщения (Atom)
Архив
-
►
2019
(44)
- декабря (2)
- октября (6)
- сентября (9)
- августа (1)
- июля (1)
- июня (2)
- мая (2)
- апреля (2)
- марта (2)
- февраля (9)
- января (8)
-
►
2018
(54)
- декабря (4)
- ноября (3)
- октября (6)
- сентября (4)
- августа (2)
- июля (2)
- мая (3)
- апреля (4)
- марта (11)
- февраля (6)
- января (9)
-
►
2017
(55)
- декабря (4)
- ноября (14)
- октября (1)
- сентября (3)
- августа (10)
- июля (2)
- июня (5)
- мая (2)
- апреля (3)
- марта (4)
- февраля (4)
- января (3)
-
►
2016
(111)
- декабря (12)
- ноября (4)
- октября (14)
- сентября (7)
- августа (7)
- июля (14)
- июня (12)
- мая (8)
- апреля (5)
- марта (16)
- февраля (10)
- января (2)
-
►
2015
(96)
- декабря (2)
- ноября (4)
- октября (3)
- сентября (6)
- августа (2)
- июля (2)
- июня (2)
- мая (11)
- апреля (14)
- марта (24)
- февраля (21)
- января (5)
-
►
2014
(72)
- декабря (18)
- ноября (16)
- октября (2)
- сентября (7)
- августа (4)
- июля (1)
- июня (4)
- мая (5)
- апреля (3)
- марта (3)
- февраля (6)
- января (3)
-
►
2013
(33)
- декабря (3)
- ноября (2)
- октября (3)
- сентября (2)
- августа (1)
- июля (1)
- июня (2)
- мая (5)
- апреля (2)
- марта (2)
- февраля (1)
- января (9)
-
►
2012
(181)
- ноября (6)
- октября (11)
- сентября (6)
- августа (5)
- июля (6)
- июня (25)
- мая (24)
- апреля (14)
- марта (20)
- февраля (38)
- января (26)
