Struts 标签判断当前语言环境

9、更多Struts标签的深入探讨 本文深入探讨了Struts标签库的使用,包括逻辑标签库、嵌套标签库、JSTL与Struts标签库的结合应用,以及表达式语言(EL)的实际案例。通过具体的实验和示例,展示了如何在实际开发中优化代码结构,提高可读性和维护性。 阅读详情

 

struts

项目中涉及到多语言版本时,往往需要做到能自由切换不同语言,比如中英文切换。Struts2框架已经封装了国际化相关流程,使用起来极其简单,Struts2需要用到国际化环境时具体请看Struts2国际化流程步骤。而要做到自由切换语言时,其实也很简单。

1.只要将request_locale这个参数传递到testAction即可,参数值为:xx_XX(语言_区域,如zh_CN)。

1
2
<a href="/testAction.do?request_locale=zh_CN">中文简体</a>
<a href="/testAction.do?request_locale=en_US">English</a>

2.Action无需任何操作,只要跳转到相应页面即可。

1
2
3
4
5
6
7
8
9
/**
 * FileName:TestAction.java
 * @author ShelWee
 */
public class TestAction extends ActionSupport {
     public String execute() throws Exception{
          return "success";
     }
}
1
2
3
4
5
6
<!--struts.xml-->
<package name="test" extends="struts-default" namespace="/">
     <action name="testAction" class="testAction">
          <result>/test.jsp</result>
     </action>
</package>

3.jsp页面根据当前语言显示文字,比如当前是中文,显示中文,当前是英文显示English。

1
2
3
4
5
6
7
<!--test.jsp-->
<s:if test="%{getText('lang')=='中文' || #session.WW_TRANS_I18N_LOCALE.toString()=='zh_CN'}">
     中文
</s:if>
<s:else>
     English 
</s:else>

PS:如果仅仅只有#session.WW_TRANS_I18N_LOCALE.toString()==’zh_CN’这个条件是不够的,因为用户第一次访问时,WW_TRANS_I18N_LOCALE并不存在于SESSION中。因此这里采取一个较为投机的方法,就是在国际化资源文件中存放一个name为lang的值,然后在JSP页面中获取lang的值匹配。

 

 

注:本文转载自:http://www.shelwee.com/html/archives/67265.html

 

实现Struts框架下的多语言界面示例 本文还有配套的精品资源,点击获取 简介:Struts是一个基于MVC设计模式的Java Web框架,该示例演示了如何利用Struts框架实现一个简单的中英文切换功能。涉及资源文件配置、Action类、ActionForm、Struts配置文件、JSP页面、国际化标签库、会话管理和Cookie等技术要点,帮助开发者掌握Web应用的多语言支持和用户体验优化。 1. S... 阅读详情

相关推荐

struts2实现自主选择页面语言

该项目主要用到了struts2的国际化,其中如何选择默认的页面语言则用到了i18n拦截器技术。

thymeleaf

在这里插入代码片 <h1 th:utext="#{hello.welcome(${session.s1},${session.s2})}">12</h1> utext//非转义 ${x} 会返回存储在Thymeleaf上下文里的变量 x ,或者作为请求属性存储****ok 的变量 x 。 ${param.x} 会返回一个称为 x 的请求属性(可能多值) ${sess...

qq_39615829的博客 137

STM32F4驱动海康工业相机实战:从PWM信号到精准触发拍照(附完整代码)

本文详细介绍了如何使用STM32F4开发板驱动海康工业相机,实现PWM信号精准触发拍照的完整方案。从硬件连接到PWM信号生成,再到相机触发配置与延迟补偿,提供了实战经验和完整代码,帮助开发者解决工业相机硬件触发中的关键问题。

weixin_33716941的博客 694

Struts2中的标签库

Struts2中的标签库 1、通用标签 (1)判断标签:<s:if>,<s:elseif>,<s:else> <h3>if else标签的使用</h3> <s:set var="age" value="22" scope="request" /> <s:if test="#request.age >= 18"> 成年 </s:if> <s:else> 未成年 </s:e

pipizhen_的博客 364

git连接华为软件开发云

我用的是github客户端的git shell 连接。用git bash也可以github客户端下载地址:https://desktop.github.com/1.在华为软件开发云上创建代码仓库2.在本地创建密钥SSH密钥帮助文档公钥是代码托管服务(CodeHub)识别您的用户身份的一种认证方式,通过公钥,您可以将本地git项目与代码托管服务(CodeHub)建立联系, 然后您就可以很方便的将本地...

sigmeta的博客 2110

python模拟银行交易流水

模拟自动生成银行交易流水,其中包括:入账账号、出账账号、交易金额、交易余额、交易时间、出入表示关键字段

qq_31823889的博客 2908

关于URL中的国际化参数request_locale

在用struts2做国际化时,想要看他的英文版显示,不用修改本机配置什么的。 在URL中加上参数 request_locale=en 即可!

高国辉的专栏 2640

实战指南:轻松破解DataDome滑块验证码的关键步骤

本文详细介绍了破解DataDome滑块验证码的关键步骤,包括理解其工作原理、准备工作、参数获取与配置、完整破解流程及API调用。通过使用Capsolver服务和模拟真实用户行为,帮助开发者有效绕过这一反机器人机制,同时强调了法律与道德考量。

weixin_30415113的博客 476

structs的国际化实现

产品的新版本快发布了,最近的在修defects,遇到个I18N的问题,产品的GUI方面用的技术比较老,不管怎么样,做下记录 1.setBundle标签 <fmt:setBundle basename="com.product.website.actionsupport.common.Login"/> <!-- bundle标签的basename指定了资源文件名message...

BobChill的博客 355

ESP32学习笔记03-日志打印

日志分为5个等级。

Car12 1413

微信小程序 “net::ERR_CONNECTION_REFUSED” 报错大揭秘与破解之道

在微信小程序开发与运行过程中,“net::ERR_CONNECTION_REFUSED” 报错是开发者常遇难题。该错误意味着小程序与服务器连接建立失败,会导致功能无法使用、数据加载异常等问题,严重影响用户体验和业务运转。本文系统剖析此错误,从网络环境不佳、服务器异常、小程序配置有误等常见触发场景入手,提供网络、服务器、配置、代码等多维度排查步骤,给出针对性解决策略,如修复网络、处理服务器故障、修正配置与代码错误,还提出开发与运维阶段的预防措施,助力开发者高效解决该报错问题。

邓邓子的博客 6131

怎样在架构中合理的设置request中的Lcoale

相信很多朋友在做J2EE国际化的时候,很可能遇到这个问题。因为request中的Locale是非常重要的,它代表着用户浏览器的设置,同时,很多应用都是在这里读取用户Locale然后进行国际化的。 但是问题就在于,如果我们的应用中很多地方都适应request.getLocale()来获取Locale,但是我们希望使用自己的Locale,比如说是User信息中包含了一个叫Locale的字段。那么我们

庄稼地 6572

STM32CubeMX | 38-使用硬件SPI驱动以太网模块(W5500)

本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件SPI外设与以W5500通信,驱动以太网模块。 1. 准备工作 硬件准备 开发板 首先需要准备一个开发板,这里我准备的是STM32L4的开发板(BearPi): W5500以太网模块 这里我使用常见的以太网模块W5500: W5500官网 http://www.w5500.cn/ W5500中文手册 iEthernet W5500 Datasheet 软件准备 需要安装好Keil - MDK及芯片对应的包,以

Mculover666的博客(嵌入式) 7383

Struts:标签库

1,Struts2标签库概述 Struts2标签库相对于Struts1进行了巨大的改进,支持OGNL表达式,不依赖任何表现层技术(可以在各种表现层技术中使用)。 我们可以在struts2-core-xxx.jar压缩文件的META-INF目录下找到struts-tags.tld文件,这个文件里定义了Struts2的标签。 Struts2对整个标签库提供了严格的分类,Strut2把所有标签都定义在一个s标签库里。虽然Struts2把所有的标签都定义在URI为"/struts-tags"的空间下,但依然

燕双嘤 1929

YOLOv11涨点改进 | Conv篇/小目标改进 | YOLOv11引入SPDConv卷积特征无损下采样模块,增加YOLOv11小目标P2检测层(助力小目标任务高效涨点)

本文提出了一种创新的SPDConv模块来优化YOLOv11模型,通过空间到深度(SPD)层和非步幅卷积层实现特征无损下采样。该方法有效解决了传统CNN中因跨步卷积和池化层导致的细粒度信息丢失问题,特别提升了小目标检测性能。实验表明,SPDConv在目标检测和图像分类任务中显著优于现有SOTA模型。文章详细介绍了模块原理、核心代码实现,并提供了YOLOv11集成SPDConv的具体方法,包括配置文件修改和P2层增强等优化技巧。该技术为计算机视觉任务提供了一种高效的特征保留方案。

Ai缝合怪、助力小伙伴高效发论文 586

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

使用Struts2标签

Struts2提供了大量标签帮助开发表现层页面,Struts2标签库与Struts1相比,不依赖于任何表现层技术,大部分可以在各种表现层技术中使用,包括最常用的jsp页面,也可以在Velocity和FreeMarker等模板技术中使用。 注:极小部分在某些表现层中受到限制 还记得如何自定义标签库吗? ...

chen_bin_的博客 1365

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

struts2标签库

struts2标签库介绍: struts2标签库不依赖任何表现层技术,其提供的大部分标签,可以在各种表现层技术中使用,分为两大类:UI标签和非UI标签,UI标签由于生成html元素标签,非UI标签用于数据访问、逻辑控制等。 UI标签分为两类:表单标签(用于生成form元素,普通表单元素的标签)和非表单标签(生成页面树,Tab页等标签),非UI标签也分为两类:流程控制标签(实现分支、循环登录流程控制...

weixin_43638314的博客 651

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Struts2标签的OGNL

一、Struts2可以将所有标签分成3类: UI标签:主要用于生成HTML元素的标签。 非UI标签:主要用于数据库访问,逻辑控制等标签。 Ajax标签:用于Ajax支持的标签。 对于UI标签,则有可以分为两类: 表当标签:表单标签主要用与生成HTML页面的from元素,以及普通表单元素的标签。 非表单标签:非表单标签主要用于生成页面的树、Tab页等。 流程控制标签:主要包含用于实现分

宋程铬的专栏 2231

Struts2标签

1 struts2的UI标签 导入struts2的标签库 <%@ taglib prefix="s" uri="/struts-tags"%> <div> 用户名: <s:textfield name="uname"></s:textfield> </div> <div> 密 码: <s:password name="upwd"></s:password> </di

光何 208

Struts2 标签配置详细(2)

在介绍常用标志前,我想先从总体上,对Struts 1.x与Struts 2.0的标志库(Tag Library)作比较。  Struts 1.xStruts 2.0分类将标志库按功能分成HTML、Tiles、Logic和Bean等几部分严格上来说,没有分类,所有标志都在URI为“/struts-tags”命名空间下,不过,我们可以从功能上将其分为两大类:

ccsky001的天空 3093

Struts2 标签库

Struts 2标签简介 Struts 标签分类 使用Struts标签库 OGNL OGNL集合运算 OGNL表达式对静态属性的访问 控制标签 if/else if/else iterator generator merge subset 数据标签 Action Bean Date debug include param push Set url property Str...

venus321的博客 390

struts标签库详解

Struts2标签库 包括: OGNL Struts2标签分类 控制标签 :(if, elseif,else, iterator, append, merge, generator, subset, sort) 数据标签 :(bean, param,date, debug, include, set, url, push) OGNL

Jesse_Suo的博客 1329

Struts2学习笔记__Struts标签库和OGNL

Struts2 标签库概述  Struts2标签库相对struts1.x进行了巨大的改进,支持OGNL表达式,不再依赖任何表现层技术。  我们可以在struts2-core-2.5.8.jar压缩文件的META-INF目录下找到struts-tags.tld文件,这个文件#定义了Struts2的标签。 Struts2可以将所有标签分成三类:  用户界面标签(UI标签):主要用来生成HTML元...

茨时代べ 的博客 350

Struts2标签库详解

Struts2标签库 包括: OGNL Struts2标签分类 控制标签 :(if, elseif,else, iterator, append, merge, generator, subset, sort) 数据标签 :(bean, param,date, debug, include, set, url, push) OGNL     Object-Graph Navigat

maomao092092的专栏 2077

struts2标签

struts2.0里的标签没有分类,只用在jsp头文件加上%@taglib prefix="s" uri="/struts-tags" %>就能使用struts2.0的标签库 A: -----超链接,类似于html里的 -----执行一个view里面的一个action -----如果action的errors有值那么显示出来 -----如果action的message有值那么显示出来

xiong_jh的专栏 3812

Struts HTML 标签库

  Struts HTML 标签库 12.1 用于生成基本的HTML元素的标签标签:生成HTML元素lang属性,用于显示用户使用的语言,当lang属性为true时,标签将先根据存储在当前HttpSession中的Locale对象来输出网页使用的语言,若不存在HttpSession或者HttpSession中没有Locale对象,就根据浏览器提交的HTTP请求头中的Accept-Lan

鹏飞的专栏 1881
上一篇: LigerUI 表格 LigerGrid 动态结合 Struts2 获取数据
下一篇: SQL JOIN 简单介绍
DavidHsing
博客等级 码龄19年 782粉丝 127原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值