1
java 1.6, struts 및 jstl-1.2.jar을 사용하고 jstl 핵심 태그를 사용하여 jsp로 목록을 인쇄하려고합니다. 세션 범위 속성을 사용하면 (${sessionScope.myList}
), 핵심 태그는 값이전달 후 요청 속성을 사용할 수 없습니다. 세션 속성 만 사용할 수 있습니다.
듣고는 web.xml을
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<!-- Standard Action Servlet Configuration (with debugging) -->
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>DownloadServlet</servlet-name>
<servlet-class>DownloadServlet</servlet-class>
<init-param>
<param-name>dir</param-name>
<param-value>/home/engneer/workspace/SLTTEN-MTN-V2/web/web_content/tenderdocs</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR Servlet</display-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>ServletConfiguratorSLT</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>
<init-param>
<param-name>propertyFile</param-name>
<param-value>WEB-INF/classes/resources/ProxoolSLT.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>ServletConfiguratorCICOSE</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>
<init-param>
<param-name>propertyFile</param-name>
<param-value>WEB-INF/classes/resources/ProxoolCICOS.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>proxool</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DownloadServlet</servlet-name>
<url-pattern>/servlet/DownloadServlet</url-pattern>
</servlet-mapping>
<!-- Standard Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>proxool</servlet-name>
<url-pattern>/servlet/admin</url-pattern>
</servlet-mapping>
<!-- Session time out -->
<session-config>
<session-timeout>120</session-timeout>
</session-config>
<!-- The Usual Welcome File List -->
<welcome-file-list>
<welcome-file>public_dashboard.jsp</welcome-file>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<!-- Error page specification -->
<error-page>
<error-code>500</error-code>
<location>/errors/500.htm</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/errors/404.htm</location>
</error-page>
<!-- Struts Tag Library Descriptors -->
<taglib>
<taglib-uri>/tags/struts-bean</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-html</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-logic</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-nested</taglib-uri>
<taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-tiles</taglib-uri>
<taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
</taglib>
</web-app>
에게
ActViewTender.java
입니다 핵심 태그에 의해 촬영되지 않도록, (${requestScope.myList}
)을 제대로 값을 얻을하지만 난 요청을 사용할 때 범위 속성
public class ActViewTender
extends Action {
static Logger logger = Logger.getLogger(ActViewTender.class);
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
String realPath = getServlet().getServletContext().getRealPath("/WEB-INF/log4jConfiguration.xml");
DOMConfigurator.configure(realPath);
try {
ReverseAuctionTender reverseAuctionTender = new ReverseAuctionTender();
ISupplier supplier = new Supplier();
List<TenderEnt> tendeList = reverseAuctionTender.ViewReverseAuctionTender(conn, strSupID);
List<TenderEnt> ReverseAuctionTenderList = new ArrayList<TenderEnt>();
List<String> watchList = supplier.getAddtoWatchListTender(conn, strSupID);
try {
for (TenderEnt tenderEnt : tendeList) {
String isWatched = "";
for (String wl : watchList) {
if (wl.equals(tenderEnt.getTenderNo().trim())) {
isWatched = "watched";
}
}
tenderEnt.setIsWatched(isWatched);
ReverseAuctionTenderList.add(tenderEnt);
}
request.setAttribute("myList", ReverseAuctionTenderList);
}
catch (Exception e) {
e.printStackTrace();
logger.fatal(e.getMessage());
}
forward = mapping.findForward("SupplierMain");
}
return forward;
}
}
,451,515,
듣고는 JSP 코드
내가 (request.getSession().setAttribute("myList", ReverseAuctionTenderList);
및
<c:forEach items="${sessionScope.myList}" var="tender">
와) 서블릿에서 세션 변수로 설정했을 때이 같은 목록만을 얻을 결과로
<c:forEach items="${requestScope.myList}" var="tender">
<div class="small-12 tender auction-type online-tenders">
<div class="small-12 tender-number"><c:out value="${tender.tenderNo}"></c:out></div>
<div class="small-12 tender-detail">
<div class="small-12 medium-7 large-9 columns collapse tender-title">
<h4>${tender.description}</h4>
</div>
</div>
</div>
</c:forEach>
그것 때문이다
이것은 스트럿츠 매핑 –
Kani