2011-01-12 60 views
0

我對Java很新,剛剛遇到一個奇怪的問題。以前,一切工作正常,我不知道我做了什麼來搞砸(我知道,每個人都這麼說)。發生了什麼事是我對使用Apache Struts的(1.x中)和瓷磚的Web應用程序的工作,當我去到一個頁面的網頁瀏覽器,它似乎是用比以往不同的平鋪定義。如何確定JSP頁面使用哪個Tile定義?

下面是從瓷磚-config.xml中的相關線路:

<?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> 

下面是struts-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> 

我要在瀏覽器中的網頁是「[path] /rentalHistoryByType.do」,其主體由rentalHistoryByType_Search.jsp和rentalHistoryByType.jsp構建。我發現問題的方式是,jQuery在以前工作正常的時候突然停止了在頁面上的工作。在查看源代碼時,我發現rentalHistoryByType.do是從blank.jsp構建的,而不是template_new.jsp。 (template_new.jsp的腳本包含jQuery,而blank.jsp沒有,並且頁面源中的其他細節也完全匹配blank.jsp。)

我的問題是,我該如何判斷哪個Tile定義頁面將在請求時使用,我該如何更改它?和/或什麼可能導致頁面使用不同於以前明顯使用的Tile定義?

很抱歉,如果我的術語是錯誤或混亂,我夠到Java新的,我真的不知道我在做什麼還...

+0

你可以粘貼的struts-config的部分。具有rentalHistoryByType操作定義的xml嗎? – CoolBeans 2011-01-12 18:16:59

+0

您還可以將customerChoose.do操作粘貼到struts-config.xml中嗎?到目前爲止粘貼的內容應該會導致template_new.jsp不爲空。 – CoolBeans 2011-01-12 19:07:39

+0

我在上面的struts-config和tiles-config中添加了customerChoose部分。 – Sam 2011-01-12 19:32:07

回答

0

找到答案;它顯然是一個緩存問題。我停下來的JBoss,刪除JBoss的\服務器\默認\ tmp和\服務器\ DEFAULT \工作文件夾的內容,並重新啓動JBoss的,現在它的正常工作......

0

應該有一個Struts配置文件(命名爲支柱通常爲-config.xml),它具有動作到定義的映射,例如它會包含

<action path="/home" 
    type="com.myco.MyHomeAction"> 
    <forward name="home/landing" 
    path="home.definition"/> 
</action> 
相關問題