我的JSP中有以下的scriptlet代码。
<%
String instockMessage = pageContext.getAttribute("instockMessage");
if ((instockMessage != null) && (instockMessage.trim().length() != 0)) {
instockMessage = instockMessage.replaceAll("<[^>]*>", "").trim();
pageContext.setAttribute("instockMessage", instockMessage);
}
%>
但是,我收到一条错误,说“:类型不匹配:在编译时无法从Object转换为String”。
有谁知道如何解决这个问题?
答案 0 :(得分:4)
这是因为pageContext.getAttribute()返回一个Object。您必须将对象转换为字符串以解决此问题:
String instockMessage = (String) pageContext.getAttribute("instockMessage");
OR
String instockMessage = pageContext.getAttribute("instockMessage").toString();
那是在修改之后你的最终代码应该是这样的:
<%
String instockMessage = pageContext.getAttribute("instockMessage").toString();
if ((instockMessage != null) && (instockMessage.trim().length() != 0)) {
instockMessage = instockMessage.replaceAll("<[^>]*>", "").trim();
pageContext.setAttribute("instockMessage", instockMessage);
}
%>
OR
<%
String instockMessage = (String) pageContext.getAttribute("instockMessage");
if ((instockMessage != null) && (instockMessage.trim().length() != 0)) {
instockMessage = instockMessage.replaceAll("<[^>]*>", "").trim();
pageContext.setAttribute("instockMessage", instockMessage);
}
%>
答案 1 :(得分:0)
尝试转换为字符串:
String instockMessage = (String) pageContext.getAttribute("instockMessage");
答案 2 :(得分:0)
它告诉你需要知道的一切。页面上下文中的属性为Objects
,您需要向下转换为String
。做一个
String instockMessage = (String) pageContext.getAttribute("instockMessage");
但是为了这世界上所有可爱的东西,请避免使用scriplets并查看JSTL
。