在下面的代码中,我想找到上周一的日期.为此,我有两个变量:
我有一个功能,列出"startDay"和"stopDay"之间的所有日期,并搜索这些日期,哪一个对应于星期一.
当我在同一个十年中有两个日期时,它运作良好:
但是,当其中一个改变十年时,代码以错误结束:
错误:
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) 我们是grails的新手,并担心以下问题:
可扩展性问题
对不同的应用程序使用相同的后端
所以坚持单个grails是个好主意,或者我们应该分开关注点,甚至使用其他框架如node.js来使用rest来实现前端.
其次我不是很清楚,我们应该把业务逻辑放在grail app.Ideal place应该是我想的服务
我们正在检查Angular.js,因为它似乎比gsp页面更快,前端的当前风格和与grail的集成也更容易.想要检查是否是正确的选项.
我在一个带有 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在本例中)?
我有一个我在grails-app/services目录下移动的类,以便注入springSecurityService.这个类是spring userDetailsService类的实现(这是正确的术语吗?).这是我在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) 我想使用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.存根应该简单地忽略对此方法的任何调用.
我是休眠的新手。我正在使用 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 是我要更新的表的主键。
我试图获取在Jenkinsfile中运行构建的用户的名称:
...
user = User.current().getFullName()
...
Run Code Online (Sandbox Code Playgroud)
但得到"系统".如何获得正确的用户名
詹金斯1.651.3
我正在尝试为属性定义 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 个小数位?
我正在尝试使用 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”),我会收到以下建议:
我的问题是我想要一个匹配地址的列表,而不是地点。即使我包含门牌号,例如通过提交部分地址“79 Lowther Road”,返回的建议仍然不是完整的地址,因为缺少邮政编码
是否可以向 Google 提交部分地址,并获取匹配(完整)地址的列表?
我正在尝试使用最新版本的 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?
groovy ×3
grails ×2
java ×2
javascript ×2
angularjs ×1
apache-poi ×1
apache-poi-4 ×1
architecture ×1
date ×1
excel ×1
google-maps ×1
grails-orm ×1
hibernate ×1
highcharts ×1
jenkinsfile ×1
json ×1
jsonschema ×1
node.js ×1
oracle11g ×1
spock ×1
validation ×1