小编Dón*_*nal的帖子

Groovy:找到上周一的日期

在下面的代码中,我想找到上周一的日期.为此,我有两个变量:

  • startDay =今天 - 7天
  • stopDay =今天 - 1天(昨天)

我有一个功能,列出"startDay"和"stopDay"之间的所有日期,并搜索这些日期,哪一个对应于星期一.

当我在同一个十年中有两个日期时,它运作良好:

  • startDay = 2014-07-20
  • stopDay = 2014-07-29

但是,当其中一个改变十年时,代码以错误结束:

  • startDay = 2014-07-29
  • stopDay = 2014-07-30

错误:

java.lang.IllegalArgumentException:范围不兼容的字符串:String#next()将不会达到预期值

码:

def searchDay = { start, stop -> (start..stop).findAll { Date.parse("yyyy-MM-dd", "${it}").format("u") == "1" } }
def startDay = new java.text.SimpleDateFormat("yyyy-MM-dd").format(new Date()-7)
def stopDay = new java.text.SimpleDateFormat("yyyy-MM-dd").format(new Date()-1)

def dateOfTheDay = searchDay(startDay, stopDay);
def dateOfTheDayWithoutSquare = dateOfTheDay.join(", ")


return dateOfTheDayWithoutSquare 
Run Code Online (Sandbox Code Playgroud)

groovy date

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

Grails作为单个应用程序或不同的后端和前端应用程序

我们是grails的新手,并担心以下问题:

  1. 可扩展性问题

  2. 对不同的应用程序使用相同的后端

所以坚持单个grails是个好主意,或者我们应该分开关注点,甚至使用其他框架如node.js来使用rest来实现前端.

其次我不是很清楚,我们应该把业务逻辑放在grail app.Ideal place应该是我想的服务

我们正在检查Angular.js,因为它似乎比gsp页面更快,前端的当前风格和与grail的集成也更容易.想要检查是否是正确的选项.

architecture grails grails-orm node.js angularjs

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

获取对 Highcharts 图表的引用

我在一个带有 id 的 div 中渲染一个 Highcharts 图表,container如下所示:

new Highcharts.Chart({
    chart: {
        renderTo: 'container',
        type: 'line',
        zoomType: 'x'
    },

    xAxis: {
        categories: ['Jan', 'Feb']
    },

    series: [{
        data: [29.9, 71.5]
    }]
});
Run Code Online (Sandbox Code Playgroud)
new Highcharts.Chart({
    chart: {
        renderTo: 'container',
        type: 'line',
        zoomType: 'x'
    },

    xAxis: {
        categories: ['Jan', 'Feb']
    },

    series: [{
        data: [29.9, 71.5]
    }]
});
Run Code Online (Sandbox Code Playgroud)

请注意,我没有在变量中捕获对图表对象的引用。在图表渲染后的某个时间点,是否可以从图表对象已渲染到的元素的 ID 中获取对图表对象的引用(container在本例中)?

javascript highcharts

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

依赖注入在Grails服务中不起作用

我有一个我在grails-app/services目录下移动的类,以便注入springSecurityService.这个类是spring userDetailsS​​ervice类的实现(这是正确的术语吗?).这是我在resources.groovy中的声明:

userDetailsService(com.company.product.PracticeUserDetailsService) {
    grailsApplication = ref('grailsApplication')
}
Run Code Online (Sandbox Code Playgroud)

这个课程正在扩展 GormUserDetailsService.

我尝试的dependencyInjection导致一个null对象.

class PracticeUserDetailsService extends GormUserDetailsService{

    def springSecurityService

    UserDetails loadUserByUsername(String username, boolean loadRoles) throws UsernameNotFoundException {
        // impl omitted
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我在grails中创建一些测试控制器或某些服务并注入springSecurityService,它可以正常工作.所以,这个特定的类可能还有一些东西没有放在Grails生态系统中.我检查了这个尝试手动注入它如下:

beans = {
    springSecurityTEST(grails.plugins.springsecurity.SpringSecurityService) {}

}
Run Code Online (Sandbox Code Playgroud)

grails dependency-injection spring-security

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

用Spock破坏void方法

我想使用Spock为以下接口创建存根

public interface LocaleResolver {
    Locale resolveLocale(HttpServletRequest request)

    void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale)    
}
Run Code Online (Sandbox Code Playgroud)

我可以resolveLocale像这样删除方法

LocaleResolver stubLocaleResolver = Stub(LocaleResolver)
stubLocaleResolver.resolveLocale(_) >> Locale.UK
Run Code Online (Sandbox Code Playgroud)

但我不知道如何存根setLocale.存根应该简单地忽略对此方法的任何调用.

groovy spock

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

如何在休眠状态下根据 id 更新行

我是休眠的新手。我正在使用 SessionFactory 来获取事务的会话,我在搜索后发现的一种方法用于使用 set 参数设置几个字段,即

Query query = getCurrentSession().createSQLQuery(
    "UPDATE table_name set field1=:f1 where ID=:id");

query.setParameter("f1", f1);
query.setParameter("id", id);
Run Code Online (Sandbox Code Playgroud)

但我想更新整行。我已经在实体类中设置了值,但是有没有办法根据 id 将整个实体类的值传递给数据库,id 是我要更新的表的主键。

java hibernate oracle11g

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

如何知道哪些用户在Jenkinsfile中运行构建

我试图获取在Jenkinsfile中运行构建的用户的名称:

...
user = User.current().getFullName()
...
Run Code Online (Sandbox Code Playgroud)

但得到"系统".如何获得正确的用户名

詹金斯1.651.3

groovy jenkins-pipeline jenkinsfile

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

定义 JSON 模式货币类型

我正在尝试为属性定义 JSON 模式

money: 12.12
Run Code Online (Sandbox Code Playgroud)

我主要关心的是应该允许最多 2 个小数位。我最初定义这个领域的尝试是

money: {
  type: 'number',
  minimum: 0,
  multipleOf: 0.01
}
Run Code Online (Sandbox Code Playgroud)

然而,由于浮点不精确,这失败了。例如,使用 tv4 验证器,数字 147.41 通过验证,但 147.42 失败。是否有另一种方法来定义最多只允许 2 个小数位的数字类型?

似乎“格式”属性的目的是实现这些类型的限制,但如果我像这样定义字段:

money: {
  type: 'number',
  format: 'currency',
  minimum: 0
}
Run Code Online (Sandbox Code Playgroud)

那么如何指定具有“货币”格式的字段最多只允许 2 个小数位?

validation json jsonschema

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

使用 Google Maps API 自动完成地址

我正在尝试使用 Google Maps JavaScript API 中的 Places 库来获取有关完成部分英国地址的建议列表。这是我迄今为止的进度演示。调用 Google Places API 的代码是:

var service = new google.maps.places.AutocompleteService();
var query = document.getElementById("address").value;
var restrictions = {country: 'uk'};
service.getPlacePredictions({ 
    input: query, 
    types: ['address'], 
    componentRestrictions: restrictions},  displaySuggestions);
Run Code Online (Sandbox Code Playgroud)

如果我提交部分地址(例如“Lower Road”),我会收到以下建议:

  • 英国伯恩茅斯劳瑟路
  • Lowther Road, 邓斯特布尔, 英国
  • 英国斯坦莫尔劳瑟路

我的问题是我想要一个匹配地址的列表,而不是地点。即使我包含门牌号,例如通过提交部分地址“79 Lowther Road”,返回的建议仍然不是完整的地址,因为缺少邮政编码

  • 79 Lowther Road, 伯恩茅斯, 英国
  • 79 Lowther Road, 邓斯特布尔, 英国
  • 79 Lowther Road, 斯坦莫尔, 英国

是否可以向 Google 提交部分地址,并获取匹配(完整)地址的列表?

javascript google-maps google-maps-api-3

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

使用 Apache POI 在 Excel 工作簿之间复制单元格

我正在尝试使用最新版本的 Apache POI (4.1.2) 将单元格从一个工作簿复制到另一个工作簿。

如果两个工作簿都是 .xlsx 文件,则一切正常。但是,如果源工作簿是(旧的).xls 文件并且目标工作簿是 .xlsx 文件,则以下代码将失败

// Copy style from old cell and apply to new cell
CellStyle newCellStyle = targetWorkbook.createCellStyle();
newCellStyle.cloneStyleFrom(sourceCell.getCellStyle());
targetCell.setCellStyle(newCellStyle);
Run Code Online (Sandbox Code Playgroud)

抛出的异常是:

java.lang.IllegalArgumentException:只能从一个 XSSFCellStyle 克隆到另一个 XSSFCellStyle,不能在 HSSFCellStyle 和 XSSFCellStyle 之间克隆

cloneStyleFrom如果当文件(或Workbook对象)具有不同类型时我们无法使用,那么我们如何将HSSFCellStyle对象转换为XSSFCellStyle

java excel apache-poi apache-poi-4

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