Browse Source
The Java sample for "Locale Interceptor" shows a
`urlHandlerMapping.setUrlMap(Map.of("...` line due the inability to
disable the code chomping Asciidoctor extension with the code include
one. It will be fixed by a subsequent commit or a bug fix in
https://github.com/spring-io/asciidoctor-extensions.
Closes gh-36099
pull/36101/head
7 changed files with 218 additions and 63 deletions
@ -0,0 +1,38 @@
@@ -0,0 +1,38 @@
|
||||
/* |
||||
* Copyright 2002-present the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.docs.web.webmvc.mvcservlet.mvclocaleresolvercookie; |
||||
|
||||
import java.time.Duration; |
||||
|
||||
import org.springframework.context.annotation.Bean; |
||||
import org.springframework.context.annotation.Configuration; |
||||
import org.springframework.web.servlet.LocaleResolver; |
||||
import org.springframework.web.servlet.i18n.CookieLocaleResolver; |
||||
|
||||
// tag::snippet[]
|
||||
@Configuration |
||||
public class WebConfiguration { |
||||
|
||||
@Bean |
||||
public LocaleResolver localeResolver() { |
||||
CookieLocaleResolver localeResolver = new CookieLocaleResolver("clientlanguage"); |
||||
localeResolver.setCookieMaxAge(Duration.ofSeconds(100000)); |
||||
return localeResolver; |
||||
} |
||||
} |
||||
// end::snippet[]
|
||||
|
||||
@ -0,0 +1,48 @@
@@ -0,0 +1,48 @@
|
||||
/* |
||||
* Copyright 2002-present the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.docs.web.webmvc.mvcservlet.mvclocaleresolverinterceptor; |
||||
|
||||
import java.util.Map; |
||||
|
||||
import org.springframework.context.annotation.Bean; |
||||
import org.springframework.context.annotation.Configuration; |
||||
import org.springframework.web.servlet.LocaleResolver; |
||||
import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping; |
||||
import org.springframework.web.servlet.i18n.CookieLocaleResolver; |
||||
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor; |
||||
|
||||
// tag::snippet[]
|
||||
@Configuration |
||||
public class WebConfiguration { |
||||
|
||||
@Bean |
||||
public LocaleResolver localeResolver() { |
||||
return new CookieLocaleResolver(); |
||||
} |
||||
|
||||
@Bean |
||||
public SimpleUrlHandlerMapping urlMapping() { |
||||
SimpleUrlHandlerMapping urlHandlerMapping = new SimpleUrlHandlerMapping(); |
||||
LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor(); |
||||
interceptor.setParamName("siteLanguage"); |
||||
urlHandlerMapping.setInterceptors(interceptor); |
||||
urlHandlerMapping.setUrlMap(Map.of("/**/*.view", "someController")); |
||||
return urlHandlerMapping; |
||||
} |
||||
} |
||||
// end::snippet[]
|
||||
|
||||
@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
|
||||
/* |
||||
* Copyright 2002-present the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* https://www.apache.org/licenses/LICENSE-2.0 |
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.docs.web.webmvc.mvcservlet.mvclocaleresolvercookie |
||||
|
||||
import org.springframework.context.annotation.Bean |
||||
import org.springframework.context.annotation.Configuration |
||||
import org.springframework.web.servlet.LocaleResolver |
||||
import org.springframework.web.servlet.i18n.CookieLocaleResolver |
||||
import java.time.Duration |
||||
|
||||
// tag::snippet[] |
||||
@Configuration |
||||
class WebConfiguration { |
||||
|
||||
@Bean |
||||
fun localeResolver(): LocaleResolver = CookieLocaleResolver("clientlanguage").apply { |
||||
setCookieMaxAge(Duration.ofSeconds(100000)) |
||||
} |
||||
} |
||||
// end::snippet[] |
||||
|
||||
@ -0,0 +1,44 @@
@@ -0,0 +1,44 @@
|
||||
/* |
||||
* Copyright 2002-present the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* https://www.apache.org/licenses/LICENSE-2.0 |
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.docs.web.webmvc.mvcservlet.mvclocaleresolverinterceptor |
||||
|
||||
import org.springframework.context.annotation.Bean |
||||
import org.springframework.context.annotation.Configuration |
||||
import org.springframework.web.servlet.LocaleResolver |
||||
import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping |
||||
import org.springframework.web.servlet.i18n.CookieLocaleResolver |
||||
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor |
||||
|
||||
// tag::snippet[] |
||||
@Configuration |
||||
class WebConfiguration { |
||||
|
||||
@Bean |
||||
fun localeResolver(): LocaleResolver { |
||||
return CookieLocaleResolver() |
||||
} |
||||
|
||||
@Bean |
||||
fun urlMapping() = SimpleUrlHandlerMapping().apply { |
||||
setInterceptors(LocaleChangeInterceptor().apply { |
||||
paramName = "siteLanguage" |
||||
}) |
||||
/* @chomp:line urlMap = mapOf("/**/*.view" to "someController") */urlMap = mapOf("/**/*.view" to "someController") |
||||
} |
||||
} |
||||
// end::snippet[] |
||||
|
||||
@ -0,0 +1,19 @@
@@ -0,0 +1,19 @@
|
||||
<beans xmlns="http://www.springframework.org/schema/beans" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:schemaLocation=" |
||||
http://www.springframework.org/schema/beans |
||||
https://www.springframework.org/schema/beans/spring-beans.xsd"> |
||||
|
||||
<!-- tag::snippet[] --> |
||||
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver"> |
||||
|
||||
<constructor-arg index="0" value="clientlanguage"/> |
||||
|
||||
<!-- in seconds. If set to -1, the cookie is not persisted (deleted when browser shuts down) --> |
||||
<property name="cookieMaxAge" value="100000"/> |
||||
|
||||
</bean> |
||||
<!-- end::snippet[] --> |
||||
|
||||
</beans> |
||||
|
||||
@ -0,0 +1,30 @@
@@ -0,0 +1,30 @@
|
||||
<beans xmlns="http://www.springframework.org/schema/beans" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:schemaLocation=" |
||||
http://www.springframework.org/schema/beans |
||||
https://www.springframework.org/schema/beans/spring-beans.xsd"> |
||||
|
||||
<!-- tag::snippet[] --> |
||||
<bean id="localeChangeInterceptor" |
||||
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> |
||||
<property name="paramName" value="siteLanguage"/> |
||||
</bean> |
||||
|
||||
<bean id="localeResolver" |
||||
class="org.springframework.web.servlet.i18n.CookieLocaleResolver"/> |
||||
|
||||
<bean id="urlMapping" |
||||
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> |
||||
<property name="interceptors"> |
||||
<list> |
||||
<ref bean="localeChangeInterceptor"/> |
||||
</list> |
||||
</property> |
||||
<property name="mappings"> |
||||
<value>/**/*.view=someController</value> |
||||
</property> |
||||
</bean> |
||||
<!-- end::snippet[] --> |
||||
|
||||
</beans> |
||||
|
||||
Loading…
Reference in new issue