我正在研究一个项目,试图教自己弹簧和支柱.我目前停留在JSP页面上.我有一个带变量eid的pojo类和带有getter/setter的ename,我在sql中也有一个表,其中包含六个填充行的相同值.
我通过a访问我的数据库JdbcTemplate并将结果存储在列表中,然后我将此列表传递到我的操作页面,我将其设置为request.setAttribute("empList",eList).在我的jsp页面中,我调用该属性,然后尝试使用它迭代它JSTL.
但是没有任何显示,我知道我的列表变量中包含数据,因为我使用表达式标签检查它<%=eList%>,对象显示如下:
[org.classes.database.Employee@d9b02,
org.classes.database.Employee@13bce7e,
org.classes.database.Employee@171cc79,
org.classes.database.Employee@272a02,
org.classes.database.Employee@137105d,
org.classes.database.Employee@1359ad]
Run Code Online (Sandbox Code Playgroud)
我想也许我在jstl上遗漏了一些东西,但我的META-INF/lib文件夹中有jstl-1.2 .我也尝试在配置路径文件中添加它,但仍然没有.我也有正确的标签网址.
当我做一个简单的时候<c:out value="Hello"/>.你好打印出来.因此,这让我相信我jstl的工作正常,但是当我尝试迭代我的列表时jstl根本没有任何显示.
无论如何这里是我的JSP页面:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO- 8859-1"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="java.util.List"%>
<!DOCTYPE html>
<% List eList = (List)session.getAttribute("empList");%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Employee Details</title>
</head>
<body>
<c:out value="Hello"></c:out>
<h3>Employee Details</h3>
<hr size="4" color="gray"/>
<table>
<%=eList%>
<c:forEach items="${eList}" var="employee">
<tr>
<td>Employee ID: <c:out value="${employee.eid}"/></td>
<td>Employee Pass: …Run Code Online (Sandbox Code Playgroud) JdbcTemplate.update() 返回受影响的行数 - 因此您不仅知道删除/更新是成功的,还知道删除/更新了多少行.
如果我尝试插入一行,返回值是多少.
是否有可能将返回值设为"0"?
private static final String insertSql =
"INSERT INTO employee (" +
" name, " +
" surname, " +
" title, " +
" created) " +
"VALUES (John, Smith, Software developer, new Date())";
int row = template.update(insertSql, params, types);
Run Code Online (Sandbox Code Playgroud) 我在使用Spring Batch 2.1.9时遇到问题:当我使用jobExplorer.getJobExecution(jobExecutionId)时,当DAO必须反序列化一个字符串时,我发现了一个问题:
{"map":[{"entry":{"string":"parsedComparingDate","date":"2014-03-08 23:00:00.0 UTC"}}]}
Run Code Online (Sandbox Code Playgroud)
使用方法从BATCH_JOB_EXECUTION_CONTEXT表中获取JdbcJobExecutionDao.getJobExecution()。
我知道spring批处理使用xstream 1.3,但是在我的Pom中,我有:
此外,我读到xstream 1.3不能与jettison 1.3.3一起正常工作,但是使用xstream 1.3(不包括pom的xstream 1.4.1)可以正常工作,而使用xstream 1.4.1或主要版本时,我发现以下异常:
Caused by: java.lang.InstantiationError: java.util.Map$Entry
at sun.reflect.GeneratedSerializationConstructorAccessor1.newInstance(Unknown Source) [:1.6.0_23]
at java.lang.reflect.Constructor.newInstance(Constructor.java:513) [rt.jar:1.6.0_23]
at com.thoughtworks.xstream.converters.reflection.Sun14ReflectionProvider.newInstance(Sun14ReflectionProvider.java:75) [xstream-1.4.1.jar:]
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.instantiateNewInstance(AbstractReflectionConverter.java:424) [xstream-1.4.1.jar:]
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:229) [xstream-1.4.1.jar:]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) [xstream-1.4.1.jar:]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) [xstream-1.4.1.jar:]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) [xstream-1.4.1.jar:]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) [xstream-1.4.1.jar:]
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71) [xstream-1.4.1.jar:]
at com.thoughtworks.xstream.converters.collections.MapConverter.putCurrentEntryIntoMap(MapConverter.java:85) [xstream-1.4.1.jar:]
at com.thoughtworks.xstream.converters.collections.MapConverter.populateMap(MapConverter.java:77) [xstream-1.4.1.jar:]
at com.thoughtworks.xstream.converters.collections.MapConverter.populateMap(MapConverter.java:71) [xstream-1.4.1.jar:]
at com.thoughtworks.xstream.converters.collections.MapConverter.unmarshal(MapConverter.java:66) [xstream-1.4.1.jar:]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) [xstream-1.4.1.jar:]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) …Run Code Online (Sandbox Code Playgroud) 我正在做一些java练习,我正在尝试创建一个计数为100的方法,并在每次for循环"循环"时打印该数字.
唯一的例外是,当数是3整除它会打印出"嘶嘶声","嗡嗡"当数是整除5.现在,我有我的方法三种回程类型是会返回一个字符串.但是,错误说我没有返回值.我知道我必须使它返回一个字符串外的for循环,但我有一些麻烦搞清楚应该怎么去回报我想要的价值.
我也知道我可以使用数组甚至arrayList来解决这个问题,但我认为没有它可能,我想尝试这样做.
任何帮助将非常感谢!
这是代码:
package etcOvaningar;
public class ovning1 {
public static String fizz ="Fizz!";
public static String buzz ="Buzz!";
public static String countDown(){
for (int number = 0; number < 100; number++){
if (number%3 == 0){
return fizz;
}
else if (number%5 == 0){
return buzz;
}
else
return String.valueOf(number);
}
//I need to insert a return here I suppose, but I want the correct return from the if and else //statements
}
public static void main(String[] args){ …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个,InitialContext所以我可以向JNDI询问一些企业java bean.JBoss运行正常,但是当我运行java代码时,我得到了一个异常.
我正在运行JBoss 7.1
这是我的代码:
public class Test {
public static void main(String[] args){
InitialContext ctx=getInitialContext();
Object ref=null;
try {
ref = ctx.lookup("ParamEJB/remote");
} catch (NamingException e) {
System.out.println("Lookup Failed");
e.printStackTrace();
}
Param stub=(Param)PortableRemoteObject.narrow(ref, Param.class);
int times=stub.getTimes();
for(int i=0;i<times;i++)
System.out.println(stub.getMessage());
}
public static InitialContext getInitialContext(){
Hashtable<String,String> h=new Hashtable<String,String>();
h.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
h.put("java.naming.provider.url","localhost");
try {
return new InitialContext(h);
} catch (NamingException e) {
System.out.println("Cannot generate InitialContext");
e.printStackTrace();
}
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
在我启动JBoss服务器之后,我尝试运行java代码并得到以下异常:
javax.naming.NoInitialContextException: Cannot instantiate class: org.jnp.interfaces.NamingContextFactory [Root exception is …Run Code Online (Sandbox Code Playgroud) 我收到错误:
Exception in thread "main" com.google.gson.JsonParseException:
Expecting object found: "com.shagie.app.SimpleMap$Data@24a37368"
Run Code Online (Sandbox Code Playgroud)
尝试解除使用非平凡键的Map时:
package com.shagie.app;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.util.HashMap;
public class SimpleMap {
public static void main(String[] args) {
Wrapper w = new Wrapper();
w.m.put(new Data("f", 1), new Data("foo", 3));
w.m.put(new Data("b", 2), new Data("bar", 4));
GsonBuilder gb = new GsonBuilder();
gb.setPrettyPrinting();
Gson g = gb.create();
String json = g.toJson(w);
System.out.println(json);
w = g.fromJson(json, Wrapper.class);
System.out.println(w.m.isEmpty());
}
static public class Wrapper {
HashMap<Data, Data> m = new HashMap<Data, Data>();
} …Run Code Online (Sandbox Code Playgroud) 我正在使用 Java QPID 代理进行测试。我能够使用质子客户端发送和接收消息,但使用匿名身份验证。我有兴趣在打开身份验证的情况下进行测试,并了解质子客户端不支持(尚)。因此,我下载了 rabbitMQ 客户端 jar。我正在使用密码文件身份验证(随 QPID 一起提供)。
我像这样设置我的 RabbitMQ 客户端连接工厂:
connectionFactory = new ConnectionFactory();
connectionFactory.setHost("localhost");
connectionFactory.setUsername("guest");
connectionFactory.setPassword("guest");
Run Code Online (Sandbox Code Playgroud)
此行上的代码失败(特别是在 getConnection 上)。
connection = RabbitMQConnectionFactory.getInstance().getConnection();
Run Code Online (Sandbox Code Playgroud)
这是例外:
java.io.IOException:找不到兼容的身份验证机制 - 服务器在 com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:309) 处提供 [CRAM-MD5] 在 com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory) .java:590) 在 com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:612) 在 com.vue.rabbit.core.RabbitMQConnectionFactory.getConnection(RabbitMQConnectionFactory.java:37) 在 com.vue.rabbit.producer。 SimpleProducer.main(SimpleProducer.java:25)
如果我将 QPID 代理更改为使用匿名身份验证,并且还将客户端更改为不设置用户/密码,则会收到类似的“服务器提供 [ANONYMOUS]”异常
难道我做错了什么?这些应该是兼容的?有点不同的问题是,如果 Java 和 C++ QPID 代理都支持相同的在线 AMQP 协议,为什么还要存在它们?在此先感谢您的帮助!
我正在尝试将 querydsl 添加到现有系统,但在获取生成的 Q 源进行编译时遇到问题。我读过几个类似的问题和解释(https://spring.io/blog/2015/09/04/what-s-new-in-spring-data-release-gosling#querydsl-web-support,https://blog.jdriven.com/2018/10/using-querydsl-annotation-processor-with-gradle-and-intellij-idea/(即使这与idea相关)),几乎每个querydsl的堆栈溢出问题.. 。
这是我的 build.gradle 的一部分,它描述了问题所在:
ext {
...
querydslVersion = '4.2.1'
}
sourceSets {
generated {
java {
srcDirs = [ 'build/generated' ]
}
}
main {
java {
srcDirs = [ 'src/main/java' ]
}
}
}
...
dependencies {
...
compile("com.querydsl:querydsl-core:${querydslVersion}")
compile("com.querydsl:querydsl-jpa:${querydslVersion}")
compile "com.querydsl:querydsl-apt:$querydslVersion:jpa"
compileOnly group: 'org.projectlombok', name: 'lombok'
annotationProcessor(
"com.querydsl:querydsl-apt:${querydslVersion}:jpa",
"org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.2.Final",
"javax.annotation:javax.annotation-api:1.3.2",
"org.projectlombok:lombok"
)
}
Run Code Online (Sandbox Code Playgroud)
当我尝试构建时,我收到错误:cannot find symbol QuerydslBinderCustomizer<QSample>在存储库类中。QSample.java是根据模型Sample生成的,它位于
/build/ generated/sources/annotationProcessor/java/main/com/prep/ws/model/QSample.java。
由于它位于 build 文件夹中,我很困惑为什么它对于 IDE 和 gradle …
希望简单的问题:
或者我可以只使用DAO并执行以下操作:
ObjectFromDb ob = dao.find(someProperty);
鉴于ObjectFromDb只是一个没有单个JPA注释的常规POJO?
我把它谷歌了一会儿,但它似乎是太具体的问题......
感谢任何建议!
我正在尝试做这个操作
y = (float) ((-1/1300)*(xsec))+40;
其中xsec是第二个x.
有了这个功能double xsec = Math.pow((double)x, 2.0);
,经过这种方式定制浮动xsec = (float) xsec;,y就是浮动.
因此,当我进行第一次操作时,结果是每次40.0!我检查了xsec的变化,但即使xsec改变结果也一样,40.0!我想1/1300是一个十进制数字太多的操作.
怎么会发生这种情况?
java ×9
amqp ×1
android ×1
dao ×1
db2 ×1
gradle ×1
gson ×1
jboss ×1
jdbctemplate ×1
jettison ×1
jndi ×1
jpa ×1
json ×1
jsp ×1
jstl ×1
loops ×1
maven-2 ×1
methods ×1
qpid ×1
querydsl ×1
rabbitmq ×1
return ×1
spring ×1
spring-batch ×1
spring-boot ×1
spring-jdbc ×1
spring-mvc ×1
sql ×1
xstream ×1