我正在尝试使用延迟加载实现一个表.我想我从演示页面和文档中得到了所有步骤,但我总是得到"没有找到记录"的消息.我想我已经将代码减少到最小化表达式,至少应该有一条记录:
表页面:
<h:form id="listaEmpresas">
<p:dataTable id="tablaEmpresas" value="#{empresasTableMB.lazyDataModel}" var="empresa">
<p:column>
<f:facet name="header">
<h:outputText value="#{msgs.empresa_tabla_nombre}"/>
</f:facet>
<h:outputText value="#{empresa.nombre} "/>
</p:column>
</p:dataTable>
</h:form>
Run Code Online (Sandbox Code Playgroud)
LazyDataModel:
@Override
public List<Empresa> load(int first, int pageSize, String sortField, SortOrder so, Map<String, String> filters) {
List<Empresa> listaEmpresas = new ArrayList();
Empresa e = new Empresa();
e.setNombre("Company");
listaEmpresas.add(e);
this.setRowCount(1);
return listaEmpresas;
}
@Override
public void setRowIndex(int rowIndex) {
if (rowIndex == -1 || getPageSize() == 0) {
super.setRowIndex(-1);
}
else
super.setRowIndex(rowIndex % getPageSize());
}
Run Code Online (Sandbox Code Playgroud)
我必须覆盖setRowIndex或者我得到一个异常"java.lang.ArithmeticException:/ by zero".我正在使用primefaces-3.1-SNAPSHOT,jsf 2.0.3和tomcat 6.0.请帮忙.我错过了什么?
我有一个函数在pl/sql中返回一个布尔值.我试图直接获得该布尔值但没有成功,所以现在我正在尝试将其转换为字符串(我不想修改数据库):
<parameterMap id="publicObject" type="map">
<parameter javaType="java.lang.Object" jdbcType="VARCHAR" mode="OUT" property="result" />
<parameter javaType="java.lang.String" jdbcType="VARCHAR" mode="IN" property="id" />
</parameterMap>
<select id="isPublicObject" parameterMap="publicObject" statementType="CALLABLE">
<![CDATA[
{
declare
v_bool BOOLEAN := TRUE;
begin
v_bool := PACKNAME.STF$IS_PUBLIC_OBJECT(#{id});
#{result} := CASE WHEN v_bool THEN 'TRUE' ELSE 'FALSE' END;
end;
}
]]>
</select>
Run Code Online (Sandbox Code Playgroud)
然后我得到这个异常:"查询数据库时出错.原因:org.apache.ibatis.type.TypeException:使用JdbcType OTHER为参数#2设置null时出错.尝试为此参数设置不同的JdbcType或不同的jdbcTypeForNull配置属性. :java.sql.SQLException:列类型无效:1111 ####
此代码在数据库中正常工作:
declare
v_bool BOOLEAN := TRUE;
v_str VARCHAR2(5);
begin
v_bool := PACKNAME.STF$IS_PUBLIC_OBJECT('000000');
v_str := CASE WHEN v_bool THEN 'TRUE' ELSE 'FALSE' END;
dbms_output.put_line('result:');
dbms_output.put_line(v_str);
end;
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Spring-boot和Angular 1.5实现HTML5路由,遵循本文.
在某些时候,我需要使用这样的控制器将所有角度路径重定向到基本路径:
@Controller
public class UrlController {
// Match everything without a suffix (so not a static resource)
@RequestMapping(value = "/{path:[^\\.]*}"))
public String redirect(HttpServletRequest request) {
// Forward to home page so that route is preserved.
return "forward:/";
}
}
Run Code Online (Sandbox Code Playgroud)
正则表达式匹配大多数URL,如仪表板,搜索等:
2016-08-05 16:39:58 DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping:306 - Looking up handler method for path /dashboard
2016-08-05 16:39:58 DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping:313 - Returning handler method UrlController.redirect(javax.servlet.http.HttpServletRequest,java.lang.String)]
2016-08-05 16:39:58 DEBUG o.s.b.f.s.DefaultListableBeanFactory:251 - Returning cached instance of singleton bean 'urlController'
2016-08-05 16:39:58 DEBUG …Run Code Online (Sandbox Code Playgroud) 我有一个实体 ElementType,它有一组 EquipmentCodes:
@Entity
@Table(name = "ELEMENT_TYPES")
public class ElementType extends AbstractEntity<Long> {
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name= "ELEM_TYPE_ID")
private Set<EquipmentCode> equipmentCodes;
}
Run Code Online (Sandbox Code Playgroud)
我将这两个类公开为具有存储库的休息资源:
@RepositoryRestResource(path = "elementTypes", collectionResourceRel = "elementTypes")
@Transactional
public interface ElementTypeRepository extends CrudRepository<ElementType, Long> {}
Run Code Online (Sandbox Code Playgroud)
现在如果我尝试一些操作,比如
或 PATCH 发送
{
"equipmentCodes" : [
"https://localhost:8080/api/equipmentCodes/40529100"
]
}
Run Code Online (Sandbox Code Playgroud)
然而,如果我尝试向现有设备添加新的设备代码,它似乎工作正常:
[
{
"op": "add",
"path": "/equipmentCodes",
"value": [
"https://localhost:8080/api/equipmentCodes/40529099"
]
}
]
Run Code Online (Sandbox Code Playgroud)
我明白了
org.hibernate.LazyInitializationException:无法延迟初始化集合,无法初始化代理 - 无会话,位于 org.springframework.data.rest.webmvc.json.patch.JsonLateObjectEvaluator.evaluate(JsonLateObjectEvaluator.java:45)
关于问题是什么的任何提示吗?我使用“add”的方式有问题还是Spring配置有问题?
编辑:这可能是一个语法错误,像这样我没有得到例外:
[
{
"op": "add",
"path": "/equipmentCodes",
"value": …Run Code Online (Sandbox Code Playgroud) 我需要自定义一个Ext.panel.Tool,从网格标题中的字体awesome中显示图标'fa fa-file-excel-o'.按照我在网上找到的,我已经宣布了这个工具:
header: {
itemPosition: 1, // after title before collapse tool
items: [{
xtype: 'tool',
type: 'export',
cls:'component-tool-export',
handler: 'doExportData'
}]
},
Run Code Online (Sandbox Code Playgroud)
和css:
.component-tool-export .x-tool-export{
background-image:none !important;
content: "\f1c3" !important;
}
Run Code Online (Sandbox Code Playgroud)
该工具在那里,我可以点击它,但不显示图标.任何人都可以给我一些提示来解决这个问题吗?
spring ×2
angularjs ×1
extjs ×1
extjs6 ×1
font-awesome ×1
hateoas ×1
java ×1
jsf-2 ×1
lazy-loading ×1
mybatis ×1
oracle ×1
patch ×1
plsql ×1
primefaces ×1
rest ×1