测试:
return request.getCookies() == null;
Run Code Online (Sandbox Code Playgroud)
不是一种合适的方式测试.还有另外一种方法吗?
我明白要创建标题边框,你可以这样做:
BorderFactory.createTitledBorder(" Your Title ");
Run Code Online (Sandbox Code Playgroud)
然而,这会创建一个矩形边框,而我需要一个带有弯角的矩形.
根据我的理解,您可以通过以下方式创建自己的自定义边框:
class CustomBorder implements Border
{
...
}
Run Code Online (Sandbox Code Playgroud)
问题是我不确定如何编写覆盖该方法的代码:
public void paintBorder(Component component, Graphics g, int x, int y, int width, int height)
Run Code Online (Sandbox Code Playgroud)
或者更好的是,有没有办法在不实现自己的Border类的情况下完成它?如果没有,你会如何编写自定义标题边框?我可以画一个带圆角的矩形,但是你怎么做才能有标签的空间呢?
首先是Model类:
class Xxxx_model extends Model
{
function XxxxModel()
{
parent::Model();
$this->load->database();
}
function isInDatabase()
{
// Please ignore the sql query, it's just to show some random sql code with results
11. $result = $this->db->query('SELECT * FROM someTable WHERE ...');
$numberOfRows = $result->num_rows();
...
return $test;
}
}
Run Code Online (Sandbox Code Playgroud)
现在控制器:
function someLogic()
{
$this->load->model('xxxx_Model', 'xxxxModel'); // not necessary to specify
$this->xxxxModel->isInDatabase();
}
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,我得到错误:
Severity: Notice --> Undefined property: Xxxx_model::$db .../xxxx_model.php line 11
Run Code Online (Sandbox Code Playgroud)
我不知道为什么会这样.如果我将db代码放在控制器中似乎可以工作,那么只有在模型中使用此设置才会失败.我不能为我的生活弄清楚代码在哪里误入歧途......
我知道我必须使用grid.getDataProvider()来获取ListDataProvider(假设我发送了Listto grid.setItems())。在其他计算页脚总数中我这样做:
Collection myItems = ((ListDataProvider)grid.getDataProvider()).getItems();
for(MyItem myItem : myItems)
total += myItem.getValue();
footer.getCell(footerCell).setText(format(total));
Run Code Online (Sandbox Code Playgroud)
但是,如果我添加页脚,则会失败,因为它会计算网格中的所有项目。例如,如果我添加:
((ListDataProvider)grid.getDataProvider()).addFilter(myFilter);
Run Code Online (Sandbox Code Playgroud)
顶部的代码失败,因为页脚不是过滤后的总计,而是完整的网格总计。
话虽如此,有人建议我使用:
grid.getDataCommunicator().fetchItemsWithRange(...);
Run Code Online (Sandbox Code Playgroud)
然而,这是一个受保护的方法。假设我创建自己的子类,我什至不明白该方法是如何工作的。
但即便如此,这似乎也过于复杂,而且应该很简单,特别是如果能够在网格中添加过滤的话。
因此,我的大问题是,如果我过滤网格,如何计算 Vaadin 8 网格中的页脚总数?
我想允许:
<img src="data:image/jpg;base64,..."/>
Run Code Online (Sandbox Code Playgroud)
我看到有关于如何执行此操作的文档,但我不明白如何实现它。我试图添加模式
.allowUrlProtocols("data")
.allowAttributes("src").matching(Pattern.compile("$data:image.*")).onElements("img")
Run Code Online (Sandbox Code Playgroud)
但这没有用。我知道模式必须是一个正则表达式,但我不确定我是否理解它是如何联系起来的。我知道它正在尝试查找 img 标签,然后查看 src 属性。我的理解是它应该然后查找字符串 data:image 并且如果找到允许它通过。但这并没有发生......
在以下场景中:
1数据库4 Web服务器
Web服务器如何为数据库生成唯一ID以使它们是唯一的?是的,可以使用自动增量,但这很容易被抓取/猜测/等.因此,自动增量目前不是一种选择.
假设我有简单的POJO餐:
public class Meal
{
LocalDate mealtime;
int calories;
}
Run Code Online (Sandbox Code Playgroud)
然后在List中收集:
List<Meals> meals;
Run Code Online (Sandbox Code Playgroud)
我如何使用流来获得一个总计每月消耗的卡路里的列表.根据单独的月份来制表是非常容易的,但是我想创建一个分散几年的条形图来比较卡路里随时间的消耗,而不仅仅是按月计算.
如何才能做到这一点?我是否必须使用数年和数月的HashMaps创建一些具有数月和数年的Instant对象的复杂结构,还是有更好的方法?
在 Vaadin 8 的网格中,双击GridPro. 在 Vaadin 14 Grid Pro 中,默认情况下似乎没有保存/取消按钮。有没有办法启用它?
似乎应该是可能的,因为我们有getEditor().addSaveListener()等等。
作为一个额外的问题,每当我在网格中执行任何操作时,它似乎只会调用addCancelListener(). 是否有一个原因?当然,主要问题是是否可以在GridPro
例如,在Select组件中,所选值的呈现方式如下所示。但是,当涉及到时,ComboBox它不会呈现,仅在下拉列表中呈现,如下所示。我需要使用,ComboBox因为我需要搜索功能,即在输入值时选择项目,因为可能有很多值。Select理想情况下,合并and会很棒,ComboBox但除非我想知道是否有办法呈现所选值。
java ×6
vaadin ×3
database ×2
java-ee ×2
vaadin-flow ×2
vaadin-grid ×2
vaadin14 ×2
codeigniter ×1
dozer ×1
html ×1
java-8 ×1
java-stream ×1
logging ×1
owasp ×1
sql ×1
swing ×1
vaadin8 ×1
view ×1