请考虑以下HTML代码:
<!DOCTYPE html>
<html>
<head>
<title>TEST</title>
<style>
button {
display: block;
margin: 10px;
}
</style>
</head>
<body>
<div style="width: 100px; border: 1px solid black">
<button>hello</button>
<button>hi</button>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么按钮不伸展到100%宽度,如果它们display是block.怎么做到这一点?我无法设置按钮的样式,width: 100%因为它们会因为边距而溢出其父块.
在我的web.xmlOD我的webapp应用我有以下因素:
<env-entry>
<env-entry-name>aMessage</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>Hello World</env-entry-value>
</env-entry>
Run Code Online (Sandbox Code Playgroud)
此Web应用程序中的EJB可以读取它:
final InitialContext context = new InitialContext();
final Context env = (Context) context.lookup("java:comp/env");
System.out.println("MSG: " + env.lookup("aMessage")); // prints Hello World
Run Code Online (Sandbox Code Playgroud)
现在我试图通过以下方式更改该值asadmin:
martin@bono:~/glassfish4/glassfish/bin$ ./asadmin set-web-env-entry --name=aMessage --value=test webapp
Previous env-entry setting of aMessage for application/module webapp was overridden.
Command set-web-env-entry executed successfully.
martin@bono:~/glassfish4/glassfish/bin$ ./asadmin list-web-env-entry webapp
Reported 1 env-entry setting
aMessage (java.lang.String) = test ignoreDescriptorItem=true //
Command list-web-env-entry executed successfully.
Run Code Online (Sandbox Code Playgroud)
不幸的是,即使重新启用此Web应用程序或重新启动Web服务器,我的EJB仍会打印旧值"Hello World".
我也尝试过set-web-env-entry没有定义的名字web.xml,也玩过 …
我正在从SSL Socket读取,但主机与证书不匹配(例如host = "localhost").我希望例外,但以下代码愉快地与远程服务器谈话没有任何问题.
try (
final Socket socket = SSLSocketFactory.getDefault().createSocket(host, port);
final OutputStream os = socket.getOutputStream();
final InputStream is = socket.getInputStream()) {
os.write(("HEAD / HTTP/1.1\r\nHost: " + host + "\r\nConnection: close\r\n\r\n").getBytes());
os.flush();
final byte[] bytes = new byte[1024];
int n;
while ((n = is.read(bytes)) != -1) {
System.out.print(new String(bytes, 0, n));
}
System.out.println();
} catch (final IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
因此我尝试了另一种方法:
try {
final HttpURLConnection conn = (HttpURLConnection) new URL("https://" + …Run Code Online (Sandbox Code Playgroud) 我有以下代码:
PrivateKey key = null;
X509Certificate cert = null;
KeyPair keyPair = null;
final Reader reader = new StringReader(pem);
try {
final PEMReader pemReader = new PEMReader(reader, new PasswordFinder() {
@Override
public char[] getPassword() {
return password == null ? null : password.toCharArray();
}
});
Object obj;
while ((obj = pemReader.readObject()) != null) {
if (obj instanceof X509Certificate) {
cert = (X509Certificate) obj;
} else if (obj instanceof PrivateKey) {
key = (PrivateKey) obj;
} else if (obj instanceof KeyPair) …Run Code Online (Sandbox Code Playgroud) java openssl cryptography bouncycastle public-key-encryption
我使用 Vite 捆绑器,在我的代码中我有以下功能:
function doSomething() {
if (!import.meta.env.VITE_SOMETHING) {
return;
}
console.log("Hello");
}
Run Code Online (Sandbox Code Playgroud)
我希望在构建我的应用程序(npm run build)而不定义VITE_SOMETHING环境变量后,我将Hello在代码中看到没有日志记录,但我看到了。
更糟糕的是,在我使用的每个地方,import.meta.env.VITE_SOMETHING我都在编译的输出中看到{BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0}.VITE_SOMETHING。它看起来不是很理想。
是否可以共同配置 Vite 来优化输出 - 删除未使用的代码和重复项(它引入的)?
在地方变更上更新活动状态的最佳做法是什么?想象一下,您有一个带有视图的活动,该活动显示类别列表和类别中的项目列表.如果选择了不同的类别,则应用程序将转到具有类别ID的新位置.我想要只刷新项目,而不是创建也重新读取类别列表的新活动.
我目前的做法是这样的:
public class AppActivityMapper implements ActivityMapper {
private ItemListActivity itemListActivity;
...
public Activity getActivity(final Place place) {
final Activity activity;
if (place instanceof ItemListPlace) {
if (itemListActivity == null) {
itemListActivity = new ItemListActivity((ItemListPlace) place, clientFactory);
} else {
itemListActivity.refresh((ItemListPlace) place);
}
activity = itemListActivity;
} else {
itemListActivity = null;
}
...
return activity;
}
...
Run Code Online (Sandbox Code Playgroud) 我们想@OneToOne使用外键创建单向映射,该外键不在主表中,而在从表中。通过提供以下Java代码,Hibernate尝试product_ID在表中查找列,product但不在中查找列productimage。是否可以使其仅对注释进行修改?
该示例中删除了所有不必要的字段和列。
JPA实体:
@Entity
public class Product {
@Id
@Column(name = "ID", unique = true)
private String id;
// this doesn't work
@OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name = "product_ID", nullable = false)
private ProductImage productImage;
// this works, but we want one-to-one
// @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
// @JoinColumn(name = "product_ID", nullable = false)
// private List<ProductImage> productImages;
// getters/setters omitted
} …Run Code Online (Sandbox Code Playgroud) 是否有可能在spring-data存储库中有两个方法 - 一个没有锁定T findOne(Predicate p);在一起但有锁定@Lock(LockModeType.PESSIMISTIC_WRITE) T findOne(Predicate p);?
我希望有类似的东西
public interface TransactionRepository extends JpaRepository<Transaction, String>,
QueryDslPredicateExecutor<Transaction> {
@Lock(LockModeType.PESSIMISTIC_WRITE)
@AliasFor("findOne")
Transaction findOne_withLock(Predicate p);
}
Run Code Online (Sandbox Code Playgroud) 我们的webapp注册了一名服务工作者.我们还有Chrome扩展程序.我们需要的是在没有打开webapp的情况下将消息从服务工作者发送到扩展.这样做的正确方法是什么?
我们当前的解决方案是在服务工作者中请求一些URL并使用webRequest- 在扩展程序的后台脚本中捕获它chrome.webRequest.onBeforeRequest.addListener.它工作但看起来非常不标准.
有一种将SocketFactory提供给InitialLdapContext的静态方法:
env.put("java.naming.ldap.factory.socket", MySocketFactory.class.getName());
new InitialLdapContext(env, null);
Run Code Online (Sandbox Code Playgroud)
但是,有什么方法可以提供实例本身而不是其类名吗?我的套接字工厂使用受信任证书的输入流进行了参数设置,并且可以使用不同的受信任证书配置许多InitialLdapContext实例。顺便说一句,这将在OSGi环境中运行。
提前致谢。
java ×5
bouncycastle ×1
cryptography ×1
css ×1
dead-code ×1
glassfish-4 ×1
gwt ×1
gwt-mvp ×1
gwt-places ×1
hibernate ×1
html ×1
javascript ×1
jndi ×1
jpa ×1
jpa-2.0 ×1
ldap ×1
mvp ×1
openssl ×1
querydsl ×1
spring ×1
ssl ×1
vite ×1