2011-04-25 66 views
1

我開始嘗試使用Spring MVC,並注意到我的jsps作爲html文件提供。例如。如何配置spring mvc/jsp來輸出xhtml而不是html?

<html> 
<head> 
... 

</html> 

如何配置Spring MVC以提供xhtml文件?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
<head> 
... 
</html> 

注意 - 前綴用SpringMVC我與<html>標籤JSP,所以我沒有任何房間之前添加的文檔類型。

回答

0

沒有快速修復這個問題,基本上你必須重寫你的jsps以符合html標準並添加相應的DOCTYPE。

您可以使用JSP生成幾乎任何類型的文本文件。如果您製作CSV,XHTML,Quirks模式HTML或其他任何內容,JSP本身並不在意。

現在,如果您使用JSPX,那麼您將受到一些限制,因爲這些文件必須是有效的xml。

+0

請參閱我對@ nfechner的回答的評論 - 我不明白這是如何工作的。 – ripper234 2011-04-26 07:57:39

+0

Spring並沒有添加這樣的內容,有些地方在你的jsps中可以找到doc類型和html標籤。 – 2011-04-26 14:20:07

1

更改您的JSP。對於服務器來說,所有的HTML都只是文本。 但要小心,你需要改變更多的文檔類型。您還需要檢查它們是否符合新標準的JSP(以及包含的文件等)。例如結束標籤,小寫標籤和屬性名稱。

+0

不是真的..這將打破..因爲生成的代碼將與XHTML不兼容。 – 2011-04-25 17:43:31

+0

對不起,但哪一部分不是真的?服務器(而不是客戶端)不關心HTML?這個問題沒有提到任何有關生成的代碼。 – nfechner 2011-04-25 19:10:14

+0

對不起,如果評論不是很清楚......我應該提到的是「不夠」。將jsp更改爲xhtml是第一步如何使spring mvc與xhtml一起工作。由於一些代碼宏現在將生成不符合標準的xhtml標記,因此驗證問題會導致代碼開始中斷。 – 2011-04-25 19:18:55

0

以下是在web.xml中條目的網絡流量,JSF和XHTML顯示:

<bean id="jpaFlowExecutionListener" class="org.springframework.webflow.persistence.JpaFlowExecutionListener"> 
      <constructor-arg ref="entityManagerFactory" /> 
      <constructor-arg ref="transactionManager" /> 
    </bean> 

<bean id="facesContextListener" class="org.springframework.faces.webflow.FlowFacesContextLifecycleListener" /> 

<webflow:flow-executor id="flowExecutor"> 
    <webflow:flow-execution-listeners> 
     <webflow:listener ref="jpaFlowExecutionListener"/> 
     <webflow:listener ref="facesContextListener"/> 
    </webflow:flow-execution-listeners> 
</webflow:flow-executor> 

<webflow:flow-registry id="flowRegistry" flow-builder-services="facesFlowBuilderServices" base-path="/WEB-INF/flows"> 
    <webflow:flow-location-pattern value="/**/*-flow.xml"/> 
</webflow:flow-registry> 

<faces:flow-builder-services id="facesFlowBuilderServices" development="true" /> 

<faces:resources/> 

<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping"> 
    <property name="order" value="1"/> 
    <property name="flowRegistry" ref="flowRegistry"/> 
    <property name="defaultHandler"> 
     <bean class="org.springframework.web.servlet.mvc.UrlFilenameViewController" /> 
    </property> 
</bean> 

<bean class="org.springframework.faces.webflow.JsfFlowHandlerAdapter"> 
    <property name="flowExecutor" ref="flowExecutor" /> 
</bean> 

<bean id="faceletsViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
    <property name="viewClass" value="org.springframework.faces.mvc.JsfView"/> 
    <property name ="prefix" value="/WEB-INF/" /> 
    <property name="suffix" value=".xhtml" /> 
</bean> 

<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean> 

+0

有什麼不同? – 2013-08-13 01:31:57

相關問題