Создадим простую страницу с дизайнером отчетов. Для этого поместим в каталог WebContent\WEB-INF\lib\ следующие библиотеки: stimulsoft.reports.fx-core-2011.1.900.jar, stimulsoft.reports.fx-designer-2011.1.900.jar, stimulsoft.reports.fx-viewer-2011.1.900.jar, stimulsoft.reports.fx-web-2011.1.900.jar. В результате должно получиться как на рисунке снизу:

Далее открываем на редактирование web.xml, где код должен выглядеть приблизительно так:
web.xml |
... <?xml version="1.0" encoding="UTF-8" ?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/webapp_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee" id="WebApp_ID" version="2.5"> <display-name>sti_webviewer</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- configuration, this parameter indicates the main application directory --> <servlet> <servlet-name>StimulsoftResource</servlet-name> <servlet-class>com.stimulsoft.web.servlet.StiWebResourceServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>StimulsoftResource</servlet-name> <url-pattern>/stimulsoft_web_resource</url-pattern> </servlet-mapping> <servlet> <servlet-name>StimulsoftAction</servlet-name> <servlet-class>com.stimulsoft.webviewer.servlet.StiWebViewerActionServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>StimulsoftAction</servlet-name> <url-pattern>/stimulsoft_webviewer_action</url-pattern> </servlet-mapping> </web-app> ... |
Остальные блоки web.xml, в которых прописаны необходимые сервлеты для работы, оставляем без изменения. Index.jsp отредактируем по примеру ниже приведенного кода:
Index.jsp |
... <!DOCTYPEhtmlPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%@ taglib uri="http://stimulsoft.com/designer" prefix="stidesignerfx" %> <%@ taglib uri="http://stimulsoft.com/viewer" prefix="stiviewerfx" %>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Stimulsoft Reports.Fx for Java</title> </head> <body> <h1 align="center">My first report!</h1> <stidesignerfx:iframe width="100%" height="90%" align="middle" styleClass="" frameborder="0" styleId="" marginheight="4" marginwidth="10" name="stiviewer" scrolling="no" style="" title="report"/> </body> </html> ... |
В JSP добавляем taglib директивы (см. описание тэгов). Они позволят работать с заказными тэгами на странице:
Index.jsp |
... <%@ taglib uri="http://stimulsoft.com/designer" prefix="stidesignerfx" %> <%@ taglib uri="http://stimulsoft.com/viewer" prefix="stiviewerfx" %> ... |
Добавьте тэг <stidesignerfx:iframe/>, это аналог html тэга iframe с поддержкой всех его атрибутов. В результате деплоя приложения получим как на рисунке снизу:

Описание заказных тегов
Существует разделение на два компонента: DesignerFx и ViewerFx, это видно из выше приведенного кода. Рассмотрим компонент на примере DesignerFx (у ViewerFx все аналогично):
Все это аналоги одноименных html тегов с поддержкой всех атрибутов. Также список стандартных атрибутов расширен для отображения нужного отчета и задания значений переменных для отчета. Атрибут report="SimpleList.mrt" откроет отчет с именем SimpleList.mrt. Переменные в отчет можно передать двумя способами:
1. Установить значение у атрибута variableStr в виде строки следующего формата: "Variable1=value1&Variable2=value2". В данном случае в отчет будет передано две переменные Variable1 со значением value1 и Variable2 со значение value2. Например, для того чтобы по нажатию кнопки открывался отчет с именем MyFirstReport.mrt, и в отчете переменная MyVar имела значение stidesignerfx, нужно отредактировать файл index.jsp:
2. Так же есть возможность передавать параметры в отчет в виде Map <String, String>. Переделаем страницу следующим образом (Listing 6). В этом случае на странице будет загружаться отчет с именем MyFirstReport.mrt и в него будут передаваться два параметра:
Здесь данные передаются в виде HashMap, данный параметр должен находиться в request или session, а ключ, под которым он там будет находиться, необходимо передать тегу в виде атрибута variableMap. Применение сразу двух атрибутов variableMap и variableStr не допускается. |