如何使用jslt标记或java在jsp中通过对^split格式化get参数

如何使用jslt标记或java在jsp中通过对^split格式化get参数,java,jsp,servlets,split,Java,Jsp,Servlets,Split,我想在jsp中格式化来自url的字符串及其physicianName 此physicianName具有字符串HL7格式,将医生姓名=>姓氏^给定姓名^中间名^前缀^后缀引用为前缀姓氏、给定姓名中间名 <c:set var="phy_name" scope="application" value="${param.physicianName}" /> //@@todo formatting to Prefix Family Name, Given Na

我想在jsp中格式化来自url的字符串及其physicianName

此physicianName具有字符串HL7格式,将医生姓名=>姓氏^给定姓名^中间名^前缀^后缀引用为前缀姓氏、给定姓名中间名

    <c:set var="phy_name" scope="application"
            value="${param.physicianName}" />

//@@todo formatting to Prefix Family Name, Given Name Middle Name.

//@@todo格式设置为前缀族名称、给定名称和中间名。
这可能很简单,但我对jsp还不熟悉

如果有人能用java代码通过jsp()标记给出其他解决方案,那就太好了


提前感谢您将
^
替换为
(空格),您可以执行以下操作:

<c:set var="phy_name" value="${fn:replace(param.physicianName,'^', ' ')}" />
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>


<%
  String tmp[] =  param.physicianName.split(^);
  String formatedPhyName = tmp[3]+" "+tmp[0]+", "+tmp[1]+" "+tmp[2];
%>
<p>Phy name : ${formatedPhyName}</p>
您可以在java中使用scriptlet标记和代码,如下所示:

<c:set var="phy_name" value="${fn:replace(param.physicianName,'^', ' ')}" />
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>


<%
  String tmp[] =  param.physicianName.split(^);
  String formatedPhyName = tmp[3]+" "+tmp[0]+", "+tmp[1]+" "+tmp[2];
%>
<p>Phy name : ${formatedPhyName}</p>

物理层名称:${formattedphyname}


无法在第行
字符串tmp[]=phy\u name.split(^)处解析给我phy\u name的错误我已经编辑了答案,添加了新行并立即尝试,同时也不要忘记在文件的请求中添加
taglib
指令行。我保留了jsp页面中的上述代码,但它仍然给我相同的错误。我需要使用pageContext.getAttribute吗?我已经再次编辑了,只使用我答案的第二部分,即带有
的部分,我已经解决了这个问题,它现在正在使用下面的代码
字符串physicianNameStr=request.getParameter(“physicianName”);如果(physicianNameStr!=“| | physicianNameStr!=null){String tmp[]=physicianNameStr.split(\\^”);String formatedPhyName=tmp[3]+“+tmp[0]+”,“+tmp[1]+”+tmp[2];pageContext.setAttribute(“formatedPhyName”,formatedPhyName);}