java - 如何在 JSP 中调用 Class 方法?
问题描述
我知道这个问题已经被问过很多次了,我检查了以前的问题,没有一个适合我的需要。我是新来的,JSP
但我是一名旧时的 Java 开发人员。我googled
关于从 a 和 multiple 进行网络调用的不同方法来了JSP file
,但是因为 JSP 是Java
我想利用这个优势并做出完全不同的东西的后代,所以我已经Retrofit
使用rxJava
.
我做了一个接口类
public interface APIService {
@GET("getprofiles")
Single<List<UserProfileRole>> getProfileRoles();
}
Retrofit
初始化器类
public class RetrofitService {
public static Retrofit getRetrofit() {
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(15, TimeUnit.SECONDS)
.readTimeout(15, TimeUnit.SECONDS)
.addInterceptor(interceptor)
.build();
return new Retrofit.Builder()
.baseUrl(Constants.API)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.client(client)
.build();
}
}
最后NetworkCallManager
上课
public class NetworkCallManager {
public static Single<List<UserProfileRole>> getAllUserProfiles(){
List<UserProfileRole> mUserProfileRoles = new ArrayList<>();
APIService service = RetrofitService.getRetrofit().create(APIService.class);
return service.getProfileRoles();
}
}
我的想法是调用NetworkCallManager.getAllUserProfiles()
返回 a 的方法,Single
所以JSP
我做了类似的事情
<%@ page import="manager.NetworkCallManager" %>
<%@ page import="java.util.List" %>
<%@ page import="models.UserProfileRole" %>
<%@ page import="io.reactivex.SingleObserver" %>
<%@ page import="io.reactivex.disposables.Disposable" %><%--
Document : newuserprofiletype
Created on : May 6, 2019, 4:12:01 PM
Author : aubry
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%!
NetworkCallManager.getAllUserProfiles()
.subscribe(new SingleObserver<List<UserProfileRole>>() {
@Override
public void onSubscribe(Disposable disposable) {
}
@Override
public void onSuccess(List<UserProfileRole> userProfileRoles) {
//Set result to page
}
@Override
public void onError(Throwable throwable) {
}
});
%>
我唯一的问题是当我打电话NetworkCallManager.getAllUserProfiles()
intelliJ
给我的时候,Cannot resolve symbol getAllUserProfiles
但是当我输入ManagerCallManager.
intelliJ
甚至自动完成时。如何解决该功能?
解决方案
好吧,解决方案令人心碎,所以事实证明我使用了错误的标签
<%!我的代码在这里 %> `
而不是
<%
My code here
%>
现在我的代码可以工作了。
推荐阅读
- eclipse - 输入时如何根据模板制作Eclipse格式
- azure-data-factory - Azure 错误中的 CSV 到 ORC 对话:找到的列数超过预期的列数
- php - Symfony 3.4 Doctrine:在运行时更改引用表
- c# - 将存储在列中的所有值显示到标签?
- vue.js - 如何在 VueJs 中动态加载数据以进行多选选项
- vue.js - 浏览器不刷新 Vue.js PWA 中的组件
- sql-server - System.ArgumentException:24100:空间参考标识符 (SRID) 无效。SRID 必须介于 0 和 999999 之间
- token - 支付网关能否假设处理修改后的 Apple Pay 交易数据
- html - 没有选择和选项标签的角反应形式下拉菜单
- python - 为什么性能会随着数据框的大小而降低?