gpt4 book ai didi

java - Functions 类型中的方法 replace(String, String, String) 不适用于参数 (StringBuffer, String, String)

转载 作者:搜寻专家 更新时间:2023-11-01 02:15:49 26 4
gpt4 key购买 nike

这是我的 jsp 文件:

<%@ page contentType="text/plain" %>
<%@ page pageEncoding="UTF-8"%><%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<c:out value="${fn:replace(pageContext.request.requestURL, pageContext.request.requestURI, '')}" /><c:out value="${model.uri}" />

我遇到了错误

The method replace(String, String, String) in the type Functions is not applicable for the arguments (StringBuffer, String, String)

我已经尝试过 pageContext.request.requestURL.toString() 但 toString() 显然不是一种方法。有什么建议吗?

最佳答案

StringBuffer#toString() 绝对是正确的调用方法。问题是使用 EL 调用它。您可以使用 <c:set> 将其转换为字符串如 this answer 中所述.

<c:set var="url">${pageContext.request.requestURL}</c:set>
<c:out value="${fn:replace(url, pageContext.request.requestURI, '')}" />

也就是说,我认为有一种更好的方法来获取您想要的不使用 fn:replace 的输出字符串.

关于java - Functions 类型中的方法 replace(String, String, String) 不适用于参数 (StringBuffer, String, String),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6367072/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com