저는 Java에 익숙하지 않고 이상한 문제가 발생했습니다. 이전에는 모든 것이 잘 작동하고 있었고 나는 그것을 망치기 위해 무엇을했는지 알지 못합니다 (모든 사람들이 그렇게 말합니다). Apache Struts (1.x) 및 Tiles를 사용하는 웹 응용 프로그램에서 작업 중이며 웹 브라우저에서 페이지를 탐색 할 때 이전과 다른 Tile 정의를 사용하고있는 것으로 보입니다.JSP 페이지가 사용하는 타일 정의를 결정하는 방법은 무엇입니까?
이<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration//EN"
"http://supplies.ur.com/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<definition name=".default" path="/template_new.jsp">
<put name="title" value="[Company Web App Name]" direct="true"/>
<put name="customerInfo" value="/customerInfo.jsp" direct="false"/>
<put name="smallBody" value="" direct="true"/>
<put name="menu" value="" direct="true"/>
<put name="quickMenu" value="/quickMenu.jsp" direct="false"/>
<put name="adminMenu" value="/adminMenu.jsp" direct="false"/>
<put name="message" value="/message.jsp" direct="false"/>
<put name="body" value="" direct="true"/>
<put name="helpAvailable" value="yes" direct="false"/>
<put name="feedbackAvailable" value="yes" direct="false"/>
<put name="problemReportingAvailable" value="yes" direct="false"/>
<put name="newFeaturesAvailable" value="yes" direct="false"/>
</definition>
<definition name=".empty" path="/blank.jsp">
<put name="title" value="[Company Web App Name]" direct="true"/>
<put name="customerInfo" value="/customerInfo.jsp" direct="false"/>
<put name="quickMenu" value="/quickMenu.jsp" direct="false"/>
<put name="message" value="/message.jsp" direct="false"/>
<put name="body" value="" direct="true"/>
<put name="footer" value="/footer2.jsp" direct="false"/>
<put name="helpAvailable" value="yes" direct="false"/>
<put name="feedbackAvailable" value="yes" direct="false"/>
<put name="problemReportingAvailable" value="yes" direct="false"/>
<put name="newFeaturesAvailable" value="yes" direct="false"/>
</definition>
<!-- Forgot to include the .rentalHistoryByType definition... -->
<definition name=".rentalHistoryByType" extends=".default">
<put name="title" value="Equipment Rental History By Type" direct="true"/>
<put name="smallBody" value="/rentalHistoryByType_Search.jsp" direct="false"/>
<put name="body" value="/rentalHistoryByType.jsp" direct="false"/>
</definition>
<!-- Added for CoolBeans -->
<definition name=".customerChoose" extends=".default">
<put name="title" value="Choose a customer" direct="true"/>
<put name="quickMenu" value="" direct="true"/>
<put name="smallBody" value="/customerChoose_Search.jsp" direct="false"/>
<put name="body" value="/customerChoose.jsp" direct="false"/>
</definition>
</tiles-definitions>
여기 스트럿 - config.xml 파일에서 관련 라인이다 :
여기 타일-config.xml 파일에서 해당 라인의
<action path="/rentalHistoryByType" type="com.[company name deleted].etrieveit.actions.RentalHistoryByTypeAction">
<forward name="customerNotSelected" path="/customerChoose.do" />
<forward name="success" path=".rentalHistoryByType" />
</action>
<!-- Added for CoolBeans -->
<action path="/customerChoose" type="com.[company name deleted].etrieveit.actions.CustomerChooseAction">
<forward name="success" path=".customerChoose" />
</action>
내가 브라우저에서 갈거야 페이지 "[경로] /rentalHistoryByType.do"이며, body는 rentHistoryByType_Search.jsp 및 rentalHistoryByType.jsp로 작성됩니다. 문제를 발견 한 방법은 이전에 jQuery가 갑작스럽게 작업을 중단했을 때 jQuery가 갑자기 작업을 중단했다는 것입니다. 소스를 보면, rentalHistoryByType.do가 template_new.jsp가 아닌 blank.jsp에서 빌드되고있는 것을 발견했습니다. template_new.jsp는 jQuery 용 스크립트를 포함하고 있지만 blank.jsp는 그렇지 않으며 페이지 소스의 다른 세부 정보도 blank.jsp와 정확히 일치합니다.) 페이지가 요청되면 가져오고 어떻게 변경할 수 있습니까? 그리고/또는 페이지가 이전에 분명히 사용했던 것과 다른 Tile 정의를 사용하게하는 원인은 무엇입니까? 내 용어가 틀리거나 혼동하는 경우
미안 해요 ...
struts-config의 섹션을 붙여 넣을 수 있습니까? rentHistoryByType 동작이 정의 된 xml? – CoolBeans
customerChoose.do 액션을 struts-config.xml에 붙여 넣을 수 있습니까? 지금까지 붙여 넣은 것이 template_new.jsp를 비워 두지 않아야합니다. – CoolBeans
위의 struts-config 및 tiles-config 섹션에서 customerChoose 섹션을 추가했습니다. – Sam