我想使用 EL 在 jsp 中使用传递给它的参数调用 bean 上的函数。问题是它不允许类似:“ ${teacherBean.certificationFor(${particularField})
”
问题是我想遍历一个数组并为作为参数传递的数组中的所有值调用函数certificationFor。我通过以下方式获取数组中的值:
所以基本上我想做类似的事情: ${teacherBean.certificationFor(${particularField}) 但我不能那样做。我可以用任何其他方式做到这一点吗?
我是 EL 的新手。:) 任何帮助表示赞赏。
说我有课 Foo
public class Foo {
private Bar bar;
}
Run Code Online (Sandbox Code Playgroud)
和酒吧
public class Bar {
private String fizz;
private String bang;
}
Run Code Online (Sandbox Code Playgroud)
编辑:为了澄清我没有自己Foo
,并Bar
和不能改变这些类。
如果我想序列化一个 Foo 类型的空对象,它的成员,即 Bar 类型,将作为 null 返回。
String json = objectMapper.writeValueAsString(new Foo()); // "{"bar" : null}"
Run Code Online (Sandbox Code Playgroud)
有什么方法可以让对象映射器序列化一个空的 Bar 对象,而不必实例化 Bar 的新实例,然后将其添加到 Foo 的新实例中?
String json = objectMapper.writeValueAsString(new Foo()) // "{bar": {"fizz" : null, "bang" : null } }"
Run Code Online (Sandbox Code Playgroud) 我增强/测试了我在使用Singleton类初始化/访问的ArrayList上找到的编码
import java.util.ArrayList;
public class SingletonArrayList {
private static SingletonArrayList mInstance;
private static ArrayList<String> list = null;
public static SingletonArrayList getInstance() {
if (mInstance == null)
mInstance = new SingletonArrayList();
SingletonArrayList.list.add("a");
SingletonArrayList.list.add("b");
SingletonArrayList.list.add("c");
return mInstance;
}
private SingletonArrayList() {
list = new ArrayList<String>();
}
// retrieve array from anywhere
public ArrayList<String> getArray() {
return SingletonArrayList.list;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我做了一个测试类,我将上述单例调用两次:
import java.util.ArrayList;
public class TestSingletonArrayList {
public static void main(String[] args) {
ArrayList<String> array = SingletonArrayList.getInstance().getArray();
for (int i = …
Run Code Online (Sandbox Code Playgroud) 我目前正在java类中学习所有类型的循环,并且特别关注do-while循环.问题是我们创建一个计数为1到30的do-while循环,计数在10个整数后跳转到下一行,例如:
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
Run Code Online (Sandbox Code Playgroud)
我已经启动了循环,我可以将它打印到1到30之间,但我不知道如何让它每10个整数跳过一行.这是我目前的代码:
int q = 0;
do
{
q=q+1;
System.out.print(q+" ");
}
while (q<30);
System.out.println();
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 keycloak 保护反应组件,到目前为止我已经按照它所说的做了所有事情:
但最后我得到这个错误:
keycloak.init(...).then 不是函数
我试图用 check-sso 替换 login-required
这是我在组件中注入的代码:
import Keycloak from 'keycloak-js';
componentDidMount() {
const keycloak = Keycloak('./public/keycloak.json');
keycloak.init({onLoad: 'login-required'}).then(authenticated => {
this.setState({ keycloak: keycloak, authenticated: authenticated })
})
}
render(){
if (this.state.keycloak) {
if (this.state.authenticated)
return (<div className="container text-dark">);
else return (<div>Unable to authenticate!</div>)
}
return (<div>Initializing Keycloak...</div>);
}
Run Code Online (Sandbox Code Playgroud)
我在 Jupyter 笔记本上有以下代码:
housing.plot(kind="scatter", x="longitude", y="latitude",
s=housing["population"]/100, alpha=0.4, label="population", figsize=(10,7),
c="median_house_value", cmap=plt.get_cmap("jet"), colorbar=True,
sharex=False)
Run Code Online (Sandbox Code Playgroud)
我似乎无法在文档中的任何地方s
找到参数的含义。c
有人可以解释一下吗?
学生和课程有两个普通对象,如下所示:
public class Student {
List<Course> courses;
...
}
public class Course {
String name;
...
}
Run Code Online (Sandbox Code Playgroud)
如果我们有一个list
的Students
,我们怎么能由他们的课程名称进行筛选一些学生的?
flatMap
回答这个问题,但它返回课程对象而不是学生对象.allMatch
(以下代码).但它会返回学生列表,但List
始终为空.问题是什么?List<Student> studentList;
List<Student> AlgorithmsCourserStudentList = studentList.stream().
filter(a -> a.stream().allMatch(c -> c.getCourseName.equal("Algorithms"))).
collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud) 我已经知道我们可以用数字方式对字符串数组进行排序,将它们转换为整数数组,然后使用Arrays.sort()
或使用任何比较器.
所以我的问题是如果这些字符串超出了整数或长整数的限制,那么我们如何对它们进行排序.例如,考虑以下字符串数组:
14829435897932384626433832795
4159265358979323846264338327
1937286535897932384626433832795296523
23746289
Run Code Online (Sandbox Code Playgroud)
在那些情况下,传统的比较器或任何排序方法将无法工作,因为它们反过来使用整数(或任何其他数据类型).
因此,JAVA中的ArrayList具有2个删除函数:1返回oldvalue,另一个返回boolean。
remove(Object) return boolean
remove(index) return oldvalue
Run Code Online (Sandbox Code Playgroud)
现在,如果两个对象也都是整数,那么JAVA如何区分
例如:-在代码中 arr.remove(j);
码
ArrayList<Integer> arr = new ArrayList<Integer>();
for (int i = 2; i < 239697453; i++) {
arr.add(i);
}
int a = arr.size();
for (int i = 2; i < a; i++) {
for (int j = 0 j < a; j++) {
if (arr.get(j) % i == 0) {
arr.remove(j);
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在编写一个包含许多步骤的工作流,比如 100。在每个步骤之后,我想检查一个条件是否为真,如果为真,则跳过所有步骤并转到“下一个级别”。如果它一直走到第 100 步,那么也转到“下一级”。
我可以考虑使用 1 次迭代的 for 循环
for i in range(1):
step1()
if condition:
break
step2()
if condition:
break
...
step100()
next level()
Run Code Online (Sandbox Code Playgroud)
这看起来不错,但是有没有更好的方法没有循环并next level
直接跳转到?如果在这些步骤中再次出现这种结构会很有帮助,而且我不想打破多层循环来获得next level