Liny_@NotePad

沉迷ACG中

搞编码搞得好囧阿

赶紧笔记啊啊啊啊啊啊

jQuery的getJSON,只调用了一次前台回调函数,后台servlet都有执行。

后来发现是我的resp设成了gbk的关系,ajax传数据用的utf-8。

然后用post传到servlet,jsp传参用的ISO-8859-1,因此用new String(req.getParameter("name").getBytes("ISO-8859-1"), "utf-8")来转换。

太吐血了啊啊啊 = =

JS比较两个字符串是否相等

用==即可。。但是。。我尝试弹出来的data信息是"exist",而data == 'exist'却返回了false……

encodeURIComponent看data,发现最后多了%0A%0D,百度一下 用来是换行,

检查servlet,果然写了out.println……把ln去掉再次比较 成功 = =

js小数的四舍五入。。

调用toFixed(n)函数即可。。。n表示保留n位小数,eg:

  1.                 function countTotalPrice(num) {
  2.                         var x = num * ${requestScope.good.retailPrice};
  3.                         document.getElementById("totalPrice").value = x.toFixed(2);
  4.                 }

JSTL forEach的索引。。

使用varStatus的index属性即可:

  1. <c:forEach var="sell" items="${sellList.list}" varStatus="idx">
  2. ${idx.index}
  3. </c:forEach>

Hibernate中的对象状态

还是上经典状态图:

相对ClassPath getResource目录名带中文或空格问题解决

原来是

getClass().getClassLoader().getResource(".").getPath()

在遇到中文或空格时会转成utf-8格式显示(如空格显示%20),此时用java.net.URLDecorder来转码即可。

URLDecoder.decode(getClass().getClassLoader().getResource(".").getPath(), "utf-8")

JavaSE中的几个set对应的比较方法。。

  • HashSet:调用hashCode()方法
  • TreeSet:对象必须实现Comparable接口,因为它要调用compareTo方法。
  • CopyOnWriteArraySet(来自java.util.concurrent包):调用equals方法。

刚刚写一个Set本来要用HashSet,hashCode想不出来怎么写取值 囧 就写了equals方法 用CopyOnWriteArraySet来实现。

OGRE中使用overlay脚本。。

比较简单。。笔记下,这里使用了ogreCore的LoadingOverlay,暂时只用了这些内容 - -

  • 获得Overlay*:Overlay* pOverlay = OverlayManager::getSingleton().getByName("Core/LoadOverlay");
  • 显示Overlay*:pOverlay->show();
  • 隐藏Overlay*:pOverlay->hide();
  • 获得Overlay中名为"Core/LoadPanel/Bar/Progress"的元素:OverlayElement* pElement = OverlayManager::getSingleton().getOverlayElement("Core/LoadPanel/Bar/Progress");
  • 更新元素某属性的值:pElement->setWidth(30); // 如宽度
    注意有些属性OverlayElement都有,有些要强制转换为脚本中的类型才能设定。
  • 更新元素显示:pElement->_update();