小编ren*_*rof的帖子

Spring MVC:复杂对象为GET @RequestParam

假设我有一个列出表中对象的页面,我需要放置一个表单来过滤表.过滤器作为Ajax GET发送到如下URL:http://foo.com/system/controller/action?page = 1&prop1 = x&prop2 = y&prop3 = z

而不是在我的控制器上有很多参数,如:

@RequestMapping(value = "/action")
public @ResponseBody List<MyObject> myAction(
    @RequestParam(value = "page", required = false) int page,
    @RequestParam(value = "prop1", required = false) String prop1,
    @RequestParam(value = "prop2", required = false) String prop2,
    @RequestParam(value = "prop3", required = false) String prop3) { ... }
Run Code Online (Sandbox Code Playgroud)

假设我有MyObject:

public class MyObject {
    private String prop1;
    private String prop2;
    private String prop3;

    //Getters and setters
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想做的事情如下:

@RequestMapping(value = "/action") …
Run Code Online (Sandbox Code Playgroud)

java spring-mvc

175
推荐指数
4
解决办法
17万
查看次数

更好的是:int.TryParse或try {int.Parse()} catch

我知道......我知道......性能不是这里的主要关注点,但只是出于好奇,哪个更好?

bool parsed = int.TryParse(string, out num);
if (parsed)
...
Run Code Online (Sandbox Code Playgroud)

要么

try {
    int.Parse(string);
}
catch () {
    do something...
}
Run Code Online (Sandbox Code Playgroud)

.net c# parsing type-conversion tryparse

59
推荐指数
5
解决办法
4万
查看次数

方法参数的C#@修饰符

我在VS2010上使用ReSharper插件,我正在生成一个接口方法.ReSharper在参数名称上加了@.那用的是什么?

int Count(Func<ContratoList, bool> @where);
Run Code Online (Sandbox Code Playgroud)

什么是差异

int Count(Func<ContratoList, bool> where);
Run Code Online (Sandbox Code Playgroud)

谢谢!

c# resharper

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

Eclemma总是报告0%的代码覆盖率

我的应用程序有一个Maven测试项目.

JUnit测试运行正常,代码覆盖率测试也运行.

但该报告始终显示0%的代码覆盖率.

我该怎么办?

java eclemma

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

SQL:Bit或char更好(1)

检索位或char(1)有什么性能差异吗?

只是为了好奇=]

更新:我正在使用SQL Server 2008!

sql sql-server performance sql-server-2008

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

使用自动弹簧服务测试自定义验证器

我的实体有一个自定义的Hibernate验证器.我的一个验证器使用Autowired Spring @Repository.应用程序正常工作,我的存储库在我的验证器上成功自动装配.

问题是我找不到测试验证器的方法,因为我无法在其中注入我的存储库.

Person.class:

@Entity
@Table(schema = "dbo", name = "Person")
@PersonNameMustBeUnique
public class Person {

    @Id
    @GeneratedValue
    @Column(name = "id", unique = true, nullable = false)
    private Integer id;

    @Column()
    @NotBlank()
    private String name;

    //getters and setters
    //...
}
Run Code Online (Sandbox Code Playgroud)

PersonNameMustBeUnique.class

@Target({ TYPE, ANNOTATION_TYPE })
@Retention(RUNTIME)
@Constraint(validatedBy = { PersonNameMustBeUniqueValidator.class })
@Documented
public @interface PersonNameMustBeUnique{
    String message() default "";

    Class<?>[] groups() default {};

    Class<? extends javax.validation.Payload>[] payload() default {};
}
Run Code Online (Sandbox Code Playgroud)

验证者:

public class PersonNameMustBeUniqueValidatorimplements ConstraintValidator<PersonNameMustBeUnique, Person> {

    @Autowired
    private …
Run Code Online (Sandbox Code Playgroud)

testing validation spring hibernate-validator

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

T-SQL XML从节点问题中获取值?

我有一个XML:

<?xml version="1.0" encoding="utf-16"?>
<ExportProjectDetailsMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Project">
<CPProjectId>7665699f-6772-424c-8b7b-405b9220a8e7</CPProjectId>
</ExportProjectDetailsMessage>
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下方法将CPProjectId作为Uniqueidentifier:

DECLARE @myDoc xml
DECLARE @ProdID varchar(max)

SET @myDoc = '<ExportProjectDetailsMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Project"><CPProjectId>7665699f-6772-424c-8b7b-405b9220a8e7</CPProjectId></ExportProjectDetailsMessage>'

SET @ProdID =  @myDoc.value('(ExportProjectDetailsMessage/CPProjectId)[1]', 'varchar(max)' )
SELECT @ProdID
Run Code Online (Sandbox Code Playgroud)

我只能收到的是NULL = /我在@ myDoc.value上尝试了很多组合,但没有结果= /

如何从XML中检索值?

谢谢!

--EDIT:我注意到的东西,当我从XML中删除命名空间声明时,它工作正常!问题是我需要这个命名空间!= /

xml sql t-sql sql-server

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

Spring MVC + DataTables 1.10参数绑定

我正在尝试做一个控制器,为DataTables做服务器端。

@RequestMapping(value="/grid", method={RequestMethod.GET}, produces= MediaType.APPLICATION_JSON_VALUE)
    @ResponseBody
    public DataTablesResponse<MyObject> grid(DataTablesRequest dt) {
        return service.getListOfMyObjects();
    }
Run Code Online (Sandbox Code Playgroud)

DataTablesRequest.class:

public class DataTablesRequest {

    private int draw;
    private int start;
    private int length;

    private Search search;

    private List<Order> order;

    private List<Column> columns;

   //... Getters and setters
}
Run Code Online (Sandbox Code Playgroud)

Order.class:

public class Order {
    private String column;
    private String dir;
//...getters and setters
}
Run Code Online (Sandbox Code Playgroud)

列类

public class Column {

    private String data;
    private String name;
    private boolean searchable;
    private boolean orderable;
    private Search search;
//...Getters and setters …
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc datatables jquery-datatables datatables-1.10

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

实体框架插入多对多创建重复数据

我有3张桌子.元数据,规则和NxN关系MetadataRules.

我正在插入元数据,我的对象包含从DB检索的规则列表.

myMetadata.Rules = myListOfrules;
Run Code Online (Sandbox Code Playgroud)

当我执行插入时,myListOfRules中的所有规则都在Rules表中重复,而不是仅创建关系.我插入它:

public static void InserirTipoMetadata( TA_TIPO_METADATA tipoMetadata ) {
    using ( EnterpriseContext context = new EnterpriseContext() ) {
        context.TipoMetadata.AddObject(tipoMetadata);
        context.SaveChanges(System.Data.Objects.SaveOptions.DetectChangesBeforeSave);
    }
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做才不重复规则?

谢谢!

c# entity-framework

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

无头Chrome的Spring Boot硒集成测试运行非常缓慢

我有一个Spring Boot Web应用程序和一些与硒一起运行的集成测试。我所有的集成测试都继承自:

BootIntegracaoTest.java

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, classes = EaudApplication.class)
@ActiveProfiles(value = "default,teste")
public abstract class BootIntegracaoTest {

    @Autowired public Environment env;

    static {
        System.setProperty("webdriver.chrome.driver",
                SystemUtils.IS_OS_WINDOWS ? "target/test-classes/chromedriver_win32.exe" : "target/test-classes/chromedriver_linux64");

        ChromeOptions options = new ChromeOptions();
        options.addArguments("--headless");
        ChromeDriver driver = new ChromeDriver(options);
        SeleniumQuery.$.driver().use(driver);
        Runtime.getRuntime().addShutdownHook(new Thread(() -> $.driver().quit()));
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我取消--headless参数,则测试将在正常时间运行。毫无头绪的争论,它确实可以运行。

我启用了chromedriver日志,等待某些请求时似乎很慢: [17.289][INFO]: Waiting for pending navigations...

我正在使用Selenium 2.53.1和ChromeDriver:2.32

我也尝试了很多铬标志,但没有成功。如果有人有任何类似的问题可以帮助您,谢谢。

selenium spring selenium-chromedriver spring-boot

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