Как я могу настроить Spring mvc / jsp для вывода xhtml вместо html? - PullRequest
1 голос
/ 25 апреля 2011

Я начинаю экспериментировать с Spring MVC и заметил, что мои jsps обслуживаются как 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 ставит префикс моего jsp с тегом <html>,поэтому у меня нет места, чтобы добавить doctype до этого.

Ответы [ 3 ]

1 голос
/ 25 апреля 2011

Измените свои JSP. Для сервера весь HTML это просто текст. Но будьте осторожны, что вам нужно изменить больше, чем doctype. Вам также нужно будет проверить JSP (а также включенные файлы и т. Д.) На соответствие новому стандарту. например закрывающие теги, строчные теги и имена атрибутов.

0 голосов
/ 13 августа 2013

Ниже приведена запись в 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 голосов
/ 25 апреля 2011

Нет быстрого решения этой проблемы, в основном вам нужно переписать свой jsps, чтобы он соответствовал html, и добавить соответствующий DOCTYPE.

Вы можете использовать JSP для создания практически любого текстового файла.Самому JSP не важно, создаете ли вы CSV, XHTML, режим Quirks HTML или что-то еще.

Теперь, если вы используете JSPX, вы немного ограничены в том, что эти файлы должны быть действительными в формате XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...