小编cde*_*zaq的帖子

Grails的内容协商如何处理相反的类型?

Grails支持来自3个不同来源的内容协商:

  1. 接受标题
  2. 请求参数(格式)
  3. URI扩展

问题是,当它从多个地方获取内容信息时,它会做什么,特别是当它们彼此不一致时?

例如,如果Grails收到如下请求,会发生什么:

URL: http://example.com/book/list.html?format=json
Accept: application/xml
Run Code Online (Sandbox Code Playgroud)

Accept标头将解析为xml,URI扩展将解析为html,参数将解析为json.

这会做什么:

import grails.converters.*

class BookController {

    def list() {
        def books = Book.list()
        withFormat {
            html bookList: books
            xml { render books as XML }
            json { render books as JSON }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

rest grails content-type content-negotiation

2
推荐指数
1
解决办法
850
查看次数

无法启动hsql数据库

我正在尝试使用以下命令启动 hsqldb:

java -classpath ..\war\WEB-INF\lib\hsqldb.jar org.hsqldb.Server -database test
Run Code Online (Sandbox Code Playgroud)

这取自http://static.springsource.org/docs/Spring-MVC-step-by-step/part5.html - “5.1.创建数据库启动脚本”部分

这是我得到的错误:

C:\Projects3\springapp\db>java -classpath ..\war\WEB-INF\lib\hsqldb.jar org.hsql
db.Server -database
[Server@e0e1c6]: [Thread[main,5,main]]: checkRunning(false) entered
[Server@e0e1c6]: [Thread[main,5,main]]: checkRunning(false) exited
[Server@e0e1c6]: [Thread[main,5,main]]: Failed to set properties
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
        at java.lang.String.substring(String.java:1937)
        at java.lang.String.substring(String.java:1904)
        at org.hsqldb.server.ServerProperties.validateMultiProperty(Unknown Sour
ce)
        at org.hsqldb.server.ServerProperties.validate(Unknown Source)
        at org.hsqldb.server.Server.setProperties(Unknown Source)
        at org.hsqldb.server.Server.main(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

这不是启动 hsql 数据库的正确方法吗?

hsqldb

2
推荐指数
1
解决办法
2866
查看次数

你能推荐一个Java Web应用程序的工作流程库或框架吗?

我需要实现一些工作流功能; 例如,用户提交文档,在公开发布之前必须由一系列人员批准.

我有信心我可以从头开始实现这个,但是现有的基于Java的库或框架可以帮助做这种事情吗?

任何建议都非常感谢!

java workflow java-ee

2
推荐指数
1
解决办法
6056
查看次数

返回身体和Http 204状态是否有效?

我们目前正在努力达到OData标准:

http://www.odata.org/developers/protocols/operations

根据此标准,如果对数据执行PUT操作,则应返回204状态代码.标准说:

当处理PUT请求服务器返回状态204(无内容)以指示成功时,不需要响应主体.

现在,根据其他人在其他地方读到的内容,有些地方声称,如果你要返回204,你绝对不应该回复一个反应机构 - 这不是一个是否需要的问题.

问题是我们需要返回一个身体.在这种情况下,我们正在对一批项目执行更新查询,并且部分成功(即一些更新,一些不更新)是可能的.我们想告诉客户失败是什么,而响应机构是我能想到的唯一方法.

那么这样做的"正确"方法是什么呢?我应该甩掉W3C并返回一具尸体吗?或者我应该诋毁OData并返回不同的响应代码?还是有其他可能吗?

http http-status-codes odata

2
推荐指数
2
解决办法
4701
查看次数

仅将项目添加到下拉列表中一次

我有一个下拉列表,在页面加载时填充,如下所示:

protected void Page_Load(object sender, EventArgs e)
{
        ddlCars.Items.Add("Ford");
        ddlCars.Items.Add("Chevy");
        ddlCars.Items.Add("BMW");
        ddlCars.Items.Add("Jeep");
        ddlCars.Items.Add("Nissan");

}
Run Code Online (Sandbox Code Playgroud)

它工作正常,但是当用户更改下拉列表的选择时,列表会重新填充,我会看到相同的项目两次,因为页面正在重新加载并且正在重新添加这些值.

什么是阻止这种情况发生的最好方法?重要的是AutoPostBack保持启用状态,以便根据用户选择更改信息.

谢谢

c# asp.net

2
推荐指数
1
解决办法
5510
查看次数

如何拥有一个带有默认参数的方法,并且可以在 Groovy 中按名称覆盖该方法?

groovy 中的构造函数允许使用命名参数,方法参数允许使用默认值,但我似乎无法获得具有默认参数值的方法与命名参数一起使用。

理想情况下,我想要这样的东西:

def myMethod(def greeting = "Hello", def person = "World", def inflection = "!") {
    "${greeting} ${person}${inflection}"
}

assert myMethod() == "Hello World!"
assert myMethod(greeting: "Hi") == "Hi World!"
assert myMethod(inflection: "?", person: "bob") == "Hello Bob?"
assert myMethod("Sup") == "Sup World!"
assert myMethod("Word", "Dawg") == "Word Dawg!"
Run Code Online (Sandbox Code Playgroud)

这是我能得到的最接近的结果,但它非常丑陋,感觉不是很“常规”,并且在所有情况下都不能完全工作:

def myMethod(Map vars = [:]){

    vars.greeting = vars.greeting ?: "Hello"
    vars.person = vars.person ?: "World"
    vars.inflection = vars.inflection ?: "!"

    "${vars.greeting} ${vars.person}${vars.inflection}"
}
Run Code Online (Sandbox Code Playgroud)

methods groovy named-parameters default-parameters

2
推荐指数
1
解决办法
1718
查看次数

当文本字段是MS SQL Server 2000中返回字段的一部分时,如何选择不同的行?

我有一个数据库驱动的常见问题解答,它被组织成各个部分,我试图只获得那些与他们有问题/答案的部分的部分数据.

这是架构:

|---------------------|      |----------------------|
|       Section       |      |       Quest-Ans      |
|---------------------|      |----------------------|
| PK | id(int)        |<--|  | PK     | id(int)     |
|    | title(varchar) |   |--| FK     | Sec_id(int) |
|    | desc(text)     |      |        | body(text)  |
|---------------------|      |----------------------|
Run Code Online (Sandbox Code Playgroud)

当我尝试这个查询时:

SELECT DISTINCT s.id, s.title, s.desc
FROM Section as s INNER JOIN Quest-Ans as q ON s.id = q.Sec_id 
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息,说DISCRETE无法应用于文本字段.我怎样才能获得我想要的数据?

如果重要,这是一个SQL2000数据库.

编辑:


好的,所以似乎有两种方法可以解决这个问题.使用EXISTS和where子句中的子查询,或者使用内部联接中的子查询.哪个更快?

sql sql-server sql-server-2000

1
推荐指数
1
解决办法
6131
查看次数

如何为关系构建数据库?数据

我需要跟踪得分和他们得分的对象.以前,我使用平面文件数据库(这是一个烂摊子)这样做,看起来像这样:

03611100025
00001000000
21011000000
00003000000
00021000000
10001050000
00001402000
00001000100
00001013050
00001000100
00001000000
Run Code Online (Sandbox Code Playgroud)

每个团队都有一行和一列,我猜整个事情变成了一种图形.现在我可以做到这一点也是MySQL,但是它会变得臃肿并且会迫使每一行都有一个荒谬的列数.

我觉得我必须错过其他一些非常简单的方法来做到这一点.任何人都能伸出援助之手吗?

mysql database database-design relational

1
推荐指数
1
解决办法
236
查看次数

无法找到spring3 mvc @Valid注释

我尝试使用@Valid注释,但是eclipse总是给出"有效无法解析为类型"错误.我正在使用spring3库.

我已将hibernate-validator-4.1.0.Final.jar导入到我的WEB-INF/lib目录中.但是,这并没有解决问题.

任何帮助表示赞赏!

java spring hibernate-validator

1
推荐指数
2
解决办法
1万
查看次数

如何在SQL Server 2005中有效地操作500k记录?

我从客户那里获得了一个包含500,000个用户更新的更新信息的大文本文件.但是,当我处理此文件时,我经常遇到SQL Server超时错误.

这是我在VB应用程序中遵循的处理数据的过程(通常):

  1. 从临时表中删除所有记录(删除上个月的数据)(例如DELETE * FROM tempTable)
  2. 将文本文件翻录到临时表中
  3. 在临时表中填写额外信息,例如organization_id,user_id,group_code等.
  4. 根据临时表中计算的数据更新实际表中的数据

问题是我经常运行像UPDATE tempTable SET user_id = (SELECT user_id FROM myUsers WHERE external_id = tempTable.external_id这样的命令,这些命令经常超时.我已经尝试将时间超过10分钟,但它们仍然失败.现在,我意识到500k行是不容易操作的行数,但我认为据称能够处理数百万行的数据库应该能够很容易地处理500k.我是如何处理这些数据的?

请帮忙.任何和所有建议欢迎.

timeout sql-server-2005

0
推荐指数
1
解决办法
561
查看次数

如何在SQL Server 2005中不使用数据透视表将一堆行转换为聚合列?

这是一个场景:我有一个表记录了user_id,module_id以及查看模块的日期/时间.

例如.

Table: Log
------------------------------
User_ID  Module_ID   Date
------------------------------
1       red         2001-01-01
1       green       2001-01-02
1       blue        2001-01-03
2       green       2001-01-04
2       blue        2001-01-05
1       red         2001-01-06
1       blue        2001-01-07
3       blue        2001-01-08
3       green       2001-01-09
3       red         2001-01-10
3       green       2001-01-11
4       white       2001-01-12
Run Code Online (Sandbox Code Playgroud)

我需要得到一个结果集,其中user_id为第1列,然后是每个模块的列.然后行数据是user_id以及用户查看每个模块的次数.

例如.

---------------------------------
User_ID  red green   blue    white
---------------------------------
1       2   1       2       0
2       0   1       1       0
3       1   2       1       0
4       0   0       0       1
Run Code Online (Sandbox Code Playgroud)

我最初认为我可以用PIVOT做到这一点,但没有骰子; 数据库是在SQL Server 2005中运行的已转换的SQL Server 2000数据库.我无法更改兼容级别,因此数据库已关闭. …

sql sql-server pivot sql-server-2005

0
推荐指数
1
解决办法
1305
查看次数

如何根据操作系统使用JFileChooser在Java中获取正确的路径

在我的Java应用程序中,我需要使用JFileChooser选择路径.我写的代码如下:

jfChooser = new JFileChooser();

jfChooser.setCurrentDirectory(new java.io.File("."));

jfChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
if (jfChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { 
System.out.println("getCurrentDirectory(): "+  jfChooser.getCurrentDirectory());
System.out.println("getSelectedFile() : "+  jfChooser.getSelectedFile());
tfPath.setText(jfChooser.getSelectedFile().getAbsolutePath()); // the selected path set to textfield which is lated get by the program
}
else {
System.out.println("No Selection ");
}
Run Code Online (Sandbox Code Playgroud)

我正在获得正确的路径.例如,这里我得到的路径(在Windows操作系统中)

String choosedPath=tfPath.getText().trimm();
Run Code Online (Sandbox Code Playgroud)

现在实际上我想以编程方式在给定路径(即newfolder目录中)上创建另一个目录.

为此,我有新的目录名称"newdir",因此传递给File构造函数以创建此目录的字符串如下所示:

File createFolder = new File("choosedPath"+"\\"+"newdir");
Run Code Online (Sandbox Code Playgroud)

现在问题是我的应用程序可能在Windows上运行或者可能在Linux上运行,因此文件路径分隔符会有所不同(例如,对于Windows为'/',对于linux为'\')

我如何克服这个问题,以便根据操作系统获得路径中的propper斜杠?

java jfilechooser path

0
推荐指数
1
解决办法
2242
查看次数

使用Facebook PHP-SDK时语法错误,意外'{'

我正在尝试在Facebook上获取我的团队的Flash项目,但我无法使用任何PHP-SDK示例.我已经按照几个例子,比如github上的这个新例子(这里).但是,我一直得到一个解析错误:

解析错误:语法错误,第36行的/home/content/r/a/s/rashomon/html/projects/facebook/test/hellomyflash/index.php中的意外"{"

我下载了最新的PHP-SDK.这是我的文件结构:

.../hellomyflash/

   index.php

   src/base_facebook.php

   src/facebook.php

   src/fb_ca_chain_bundle.crt
Run Code Online (Sandbox Code Playgroud)

我在index.php中改变的唯一两行是appId和secret.

index.php:

<?php
/**
 * Copyright 2011 Facebook, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may
 * not use this file except in compliance with the License. You may obtain
 * a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" …
Run Code Online (Sandbox Code Playgroud)

php flash facebook oauth facebook-php-sdk

-3
推荐指数
1
解决办法
974
查看次数