Struts2中如何进行子字符串化?

发布于 2024-10-22 05:06:56 字数 409 浏览 2 评论 0原文

如何使用 Struts2 标签库对字符串进行子字符串化?

这是我使用 JSTL/EL 的尝试:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
...
<s:property value="firstName" />
<c:set var="string" value="${firstName} "/>
<c:out value="${fn:substring(string,0,5)} "/>

但这不起作用。我怎样才能达到我的要求?

How can I substring a string using Struts2 taglibs?

This is my attempt using JSTL/EL:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
...
<s:property value="firstName" />
<c:set var="string" value="${firstName} "/>
<c:out value="${fn:substring(string,0,5)} "/>

This does however not work. How can I achieve my requirement?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

超可爱的懒熊 2024-10-29 05:06:56

假设firstName是一个java.lang.String,那么:

<s:property value="firstName.substring(0,5)" />

Assuming that firstName is a java.lang.String then:

<s:property value="firstName.substring(0,5)" />
梦途 2024-10-29 05:06:56

substring 函数仅适用于底层 Java String 对象,不适用于我们创建的 s:set 变量。
例如:

假设我有一个包含 Java 变量 email 的 (Action) 类。然后我可以像这样在 JSP 文件中访问这个变量:

<s:set name="jspEmail" value="%{email}" />

如果我现在想对 @ 之前的所有内容进行子串,我必须在 Java 变量上执行此操作,而不是在 JSP struts 变量上执行此操作。
像这样:

<s:set name="namepart" value="%{email.substring(0,email.indexOf("@"))}" />

然后像这样使用它:

<s:property value="%{namepart}"/>

The substring function works only on the underlying Java String object and not on the s:set variable we made of it.
For example:

Suppose I have a (Action)class which contains a Java variable email. Then I can access this variable in the JSP file like this:

<s:set name="jspEmail" value="%{email}" />

If I want now to substring everything before the @, I have to do this on the Java variable AND NOT on the JSP struts variable.
So like this:

<s:set name="namepart" value="%{email.substring(0,email.indexOf("@"))}" />

and then use it like:

<s:property value="%{namepart}"/>
缱倦旧时光 2024-10-29 05:06:56

您可以使用 JSP EL 作为 ${action.property} 引用操作属性。

<c:out value="${fn:substring(action.firstName, 0, 5)} "/>

You can reference action properties using JSP EL as ${action.property}.

<c:out value="${fn:substring(action.firstName, 0, 5)} "/>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文