我现要实现将查询关键字在查询内容上返红,但涉及的都是${shop.shopName}之类的表达式语言,如何将这种语句转换成String类型?期盼答复

解决方案 »

  1.   

    就是:${shop.shopName}打印出来的就是店铺的名字
    而我现在要把这个店铺的名字按关键字返红,而将其转换成String类型肯定好处理的多,因此问题就是怎么将其转换成String类型
      

  2.   

    ${shop.shopName} 这就是个字符
      

  3.   

    ${shop.shopName}这是字符串,但如何将它使用replaceAll()方法呢
      

  4.   


    这是展现,你的replaceAll()是java方法,明白吗你可以用jstl的函数  例如replace来完成一些字符串的操作!
      

  5.   

    参照一下JSTL functions这个包,里面有很多对于EL表达式里面的字符串操作。
      

  6.   

    比如页面顶部:
    <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>页面内部:
    ${fn:replace(shop.shopName, "-", "&#149;")}
      

  7.   

    大致步骤如下:
    // 从request中获取目标对象
    Object shop = request.getAttribute("shop");
    // 使用Java反射获取对象的特定字段的值
    Field field = shop.getClass().getField("shopName");
    String shopName = (String)field.get(shop);
      

  8.   

    fn:replace(text,"-","&#149;")}中的text不能直接为shop.shopName而必须为${shop.shopName},而表达式里是不能再有表达式的吧
      

  9.   


    ${fn:replace(shop.shopName,"-","&#149;")}应该可以、
      

  10.   

    这样的话是以.来代替要替换的字符,我现在就是想用后面红色的字符代替要替换的字符该怎么做,我这样试了下${fn:replace(shop.shopName,keyWord,"<font color=\"red\">"+keyWord+"</font>")}注:keyWord就是我要输入的关键字,是可以取到的
    但结果报错为"<font color="red">"这个不能用
    所以现在就是想如何将返红的keyWord代替前面没有加红的keyWord,也即如何使得<font color=\"red\">"+keyWord+"</font>"可用,无错误?
      

  11.   

    <font color="red">${fn:replace()}</font>
    在el表达式里先替换
    然后再在表达式外加红色步行吗?