这可能是一个红宝石问题然后rails问题,但我很确定我能够在vanilla ruby应用程序中执行此操作.
我有强大的params定义.
def trip_params
params.require(:trip).permit(:name, :date)
end
Run Code Online (Sandbox Code Playgroud)
现在我在控制器方法中得到了这些参数.我想做这个.
def save
trip_params[:name] = 'Modifying name in place'
#trip_params[:name] still equals original value passed
end
Run Code Online (Sandbox Code Playgroud)
这永远不会奏效. 名称不会改变.BTW:trip_params的类型是ActionController :: Parameters
如果我做一个标准的ruby脚本,它可以工作.
test = {}
test[:name] = "blah"
test[:name] = "ok"
puts test #{:name=>"ok"}
Run Code Online (Sandbox Code Playgroud) 请输入.
scala> 86400000 * 150
res0: Int = 75098112
scala> val i : Long = 86400000 * 150
i: Long = 75098112
val i = 86400000 * 150.asInstanceOf[Long]
i: Long = 12960000000
val i = 86400000 * 150L
i: Long = 12960000000
Run Code Online (Sandbox Code Playgroud)
世界上到底发生了什么?我一直在跳伞,我必须说这是我见过的最危险的事情.没有编译器检查这个?显然,如果我用150代替一个不同的变量.
这是让我担心的实际代码.
val oneDay = 86400000
val days150 = oneDay * 150
days150 = 75098112
Run Code Online (Sandbox Code Playgroud)
除了我自己以外,这不是Scala的错,也不是任何故障.让我担心
这似乎不对.我正在清理我的代码,我只是注意到了这一点.每个ajax请求都会触发构造函数和@PostConstruct
我的@ViewScoped
bean.即使是简单的数据库分页也会触发它.
我知道这@ViewScoped
比@RequestScoped
任何请求都要重建并且不应该重建.只有在通过GET重新加载完整页面之后.
我正在使用Jackson构建自定义JSON对象.这是正确的方法吗?
它似乎工作得很好(输出是正确的)但我可能会错过我使用JsonNodeFactory的方式.对象是否意味着像我在这里所做的那样传递?
JsonNodeFactory factory = JsonNodeFactory.instance;
ObjectNode dataTable = new ObjectNode(factory);
ArrayNode aaData = new ArrayNode(factory);
for (PkgLoad pkgLoad : pkgLoadList) {
ObjectNode row = new ObjectNode(factory);
row.put("ounces", pkgLoad.ounces);
row.put("revolutions", pkgLoad.revolutions);
aaData.add(row);
}
dataTable.put("aaData", aaData);
Run Code Online (Sandbox Code Playgroud) 我真的不明白外立面的意义.
public abstract class AbstractFacade<T> {
private Class<T> entityClass;
public AbstractFacade(Class<T> entityClass) {
this.entityClass = entityClass;
}
protected abstract EntityManager getEntityManager();
public void create(T entity) {
getEntityManager().persist(entity);
}
public void edit(T entity) {
getEntityManager().merge(entity);
}
public void remove(T entity) {
getEntityManager().remove(getEntityManager().merge(entity));
}
public T find(Object id) {
return getEntityManager().find(entityClass, id);
}
public List<T> findAll() {
CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
cq.select(cq.from(entityClass));
return getEntityManager().createQuery(cq).getResultList();
}
public List<T> findRange(int[] range) {
CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
cq.select(cq.from(entityClass));
Query q = getEntityManager().createQuery(cq);
q.setMaxResults(range[1] - range[0]); …
Run Code Online (Sandbox Code Playgroud) 我已经尝试了我能想到的一切.我已经改变了mime类型100次.将标题更改了400次.我已经看了几十次堆栈.这在Chrome中运行良好.我在Firefox下载后很快就会认为它是xlsx文件或二进制文件.它甚至作为xlsx打开,但它不认为它是一个csv所以列不是分开的.如果我保存文件(而不是只打开),它甚至没有打开扩展名.我还没有进入IE,所以这让我很担心.
mime mapping
<mime-mapping>
<extension>csv</extension>
<mime-type>application/vnd.ms-excel</mime-type>
</mime-mapping>
Run Code Online (Sandbox Code Playgroud)
我试过text/csv,application/csv,application/binary,application/octet-stream.
public void doDownloadFile() {
PrintWriter out = null;
try {
String fileName = selectedPkgLine.getShortname() + ".csv";
HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
response.setHeader("Pragma", "public");
response.setHeader("Expires", "0");
response.setContentType(request.getServletContext().getMimeType(fileName));
response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
response.setHeader("Content-disposition", "attachment; filename=" + fileName + "");
response.setHeader("Content-Transfer-Encoding", "binary");
out = response.getWriter();
CSVWriter writer = new CSVWriter(out);
List<PkgLoad> pkgLoadList = pkgLoadService.findBetweenDates(selectedPkgLine, startDate, endDate);
List<String[]> stringList = new ArrayList<String[]>();
stringList.clear();
String[] header = {
"pkg_load_id",
"time_stamp",
"ounces",
"revolutions", …
Run Code Online (Sandbox Code Playgroud) 我正在使用jquery datatables插件.
我只有一个直接的html表格布局.
<table class="display" id="contactsTable">
<thead>
<tr>
<th>Id</th>
<th>Email</th>
<th>Name</th>
<th>Phone</th>
<th>City</th>
<th>State</th>
<th>Arrival</th>
<th>Departure</th>
<th>Inserted</th>
<th>Check</th>
</tr>
</thead>
<tbody>
<tr>
<td>301</td>
<td>email address</td>
<td>Test</td>
<td></td>
<td></td>
<td></td>
<td>July 14 2011</td>
<td>July 23 2011</td>
<td>April 12 2011 07:05</td>
<td><input type="checkbox" name="selected[]" value="301" class="chkbox"/></td>
</tr>
<tr>
<td>300</td>
<td>email</td>
<td>Test</td>
<td></td>
<td></td>
<td></td>
<td>September 02 2011</td>
<td>September 10 2011</td>
<td>April 11 2011 12:01</td>
<td><input type="checkbox" name="selected[]" value="300" class="chkbox"/></td>
</tr>
Run Code Online (Sandbox Code Playgroud)
这是我的提交代码(只是临时).
<input id="submitButton" type="submit" value="Submit" onclick="test()" />
Run Code Online (Sandbox Code Playgroud)
我的javascript将复选框映射到数组.
function test() …
Run Code Online (Sandbox Code Playgroud) 嘿家伙我需要将两个音频文件合并在一起.基本上将一个音频文件放在另一个上面并制作一个文件.我已经看到一些关于连接两个音频文件的帖子,但没有关于此.谢谢你的帮助.
这可能吗?有没有人这样做过?如果我使用我在Web应用程序中习惯的东西,我觉得我可以更好地布置我的应用程序.是否可以使用此依赖注入?
如果这是不可能的,或者一个可行的解决方案,任何人都可以指向我使用JPA和EntityManger查询数据库的几个示例项目.谢谢.
假设我有一个返回此方法.
Vector[ (PkgLine, Tree) ]()
Run Code Online (Sandbox Code Playgroud)
我想将其转换为PkgLines列表.我想放弃树.我没有在scala库中看到任何可以让我这样做的东西.有人有什么简单的想法吗?谢谢.