我正在尝试使用<fmt:setLocale value='en_US' />
<%
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
// HTTP 1.1.
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
TransactionDO txnDO = (TransactionDO) session.getAttribute("txnDetails");
System.out.println("Txn no : "+txnDO.txnNo()); // Here i get 1001 second time
%>
<fmt:bundle basename="applicationresources">
<div ng-controller="txnController"
ng-init="GetTxnResponse()" >
---
---
</div>
</fmt:bundle>
函数从data.table self.GetTxnResponse = function() {
if (txnStatus == '00') {
$http.get(CONTEXT_PATH + '/getResponseDetails').success(function(data) {
// Here i get 1000 from data second time
}
}
动态选择列时应用过滤器并将其与另一个data.table @RequestMapping(value="/getResponseDetails", method=RequestMethod.GET)
public @ResponseBody TransactionDO getResponseDetails(HttpServletRequest httpRequest){
TransactionDO txnDO = null;
txnDO = (TransactionDO) httpRequest.getSession().getAttribute("txnDetails");
return txnDO;
}
的列匹配。它不起作用,大概是因为当从data.table动态选择一列时,输出又是data.table而不是vector.
一个例子:
match()
这有效:
DT1
这(我需要的)不起作用:
DT2
只有当col1作为data.table的col1 = c(1, 3, 1, 3, 2, 2)
col2 = c("Europe", "Europe", "Europe", "Europe", "Asia", "Asia")
DT1 = data.table(col1, col2)
col3 = 1:3
col4 = c( "carrot", "apple", "tomato")
DT2 = data.table(col3, col4)
中的变量输入时,结果才是向量。这可能是原因吗?说明我的意思:
> match(DT1[col2 == "Europe", col1], DT2[, col3])
[1] 1 3 1 3
我认为> columnName = "col1"
> match(DT1[col2 == "Europe", columnName, with = FALSE], DT2[, col3])
[1] NA
会自动处理这个问题,因为它的帮助文件是:
&#34;将因子,原始向量和列表转换为字符向量,然后将x和表强制转换为公共类型(R&#39的排序中的后两种类型,逻辑&lt; ;匹配前的整数&lt; numeric&lt; complex&lt; character)如果不可比较的长度为正,则会强制使用普通类型。&#34;
答案 0 :(得分:1)
在不使用data.table时似乎有效,我认为在使用col1
时应该小心,因为向量col1
与data.frame或数据列之间存在混淆。表
DT1 = data.frame(col1=c(1, 3, 1, 3, 2, 2), col2=c("Europe", "Europe", "Europe", "Europe", "Asia", "Asia"))
DT2 = data.frame(col3 = 1:3, col4 = c( "carrot", "apple", "tomato"))
match(DT1[DT1$col2 == "Europe", "col1"], DT2[, "col3"])
columnName = "col1"
match(DT1[DT1$col2 == "Europe", columnName], DT2[, "col3"])
答案 1 :(得分:0)