SAPUI5和西北入口
我的门户上部署了一个SAPUI5应用程序。 我正在尝试让用户登录到我的SAPUI5中的门户 但当我运行我的应用程序时,它不会获取任何数据 下面是我的密码SAPUI5和西北入口,sapui5,sap-enterprise-portal,Sapui5,Sap Enterprise Portal,我的门户上部署了一个SAPUI5应用程序。 我正在尝试让用户登录到我的SAPUI5中的门户 但当我运行我的应用程序时,它不会获取任何数据 下面是我的密码 sap.ui.define([ 'jquery.sap.global', 'sap/ui/core/Fragment', 'sap/ui/core/mvc/Controller', 'sap/ui/model/Filter', 'sap/ui/model/json/JSONModel' ], function(jQuery, Fragment,
sap.ui.define([
'jquery.sap.global',
'sap/ui/core/Fragment',
'sap/ui/core/mvc/Controller',
'sap/ui/model/Filter',
'sap/ui/model/json/JSONModel'
], function(jQuery, Fragment, Controller, Filter, JSONModel) {
"use strict";
var CController = Controller.extend("sap.m.ZHRUI001.C", {
inputId: '',
valueHelpRequest: function(oController) {
this.inputId = oController.oSource.sId;
var sServiceUrl = "http://<my server host>:<my server port>/sap/bc/ui2/start_up";
var oModel = new sap.ui.model.odata.ODataModel(sServiceUrl, true, "user", "password");
var oJsonModel = new sap.ui.model.json.JSONModel();
oModel.read("/?", null, null, true, function(oData, response) {
oJsonModel.setData(oData);
});
sap.ui.getCore().setModel(oJsonModel);
// Handling of both confirm and cancel; clear the filter
var that = this;
var handleClose = function(oEvent) {
var oSelectedItem = oEvent.getParameter("selectedItem");
if (oSelectedItem) {
that.byId(that.inputId).setValue(oSelectedItem.getTitle());
}
oEvent.getSource().getBinding("items").filter([]);
};
// Create a SelectDialog and display it; bind to the same
// model as for the suggested items
if (!this._valueHelpSelectDialog) {
this._valueHelpSelectDialog = new sap.m.SelectDialog("valueHelpSelectDialog", {
title: "{fullName}",
items: {
template: new sap.m.StandardListItem({
title: "{fullName}",
active: true
})
},
search: function(oEvent) {
var sValue = oEvent.getParameter("value");
var oFilter = new sap.ui.model.Filter(
"name",
sap.ui.model.FilterOperator.Contains, sValue
);
oEvent.getSource().getBinding("items").filter([oFilter]);
},
confirm: handleClose,
cancel: handleClose
});
this._valueHelpSelectDialog.setModel(oJsonModel);
} else {
this._valueHelpSelectDialog.setModel(oJsonModel);
}
this._valueHelpSelectDialog.open();
}
});
return CController;
});
sap.ui.define([
“jquery.sap.global”,
“sap/ui/core/Fragment”,
“sap/ui/core/mvc/Controller”,
“sap/ui/model/Filter”,
'sap/ui/model/json/JSONModel'
],函数(jQuery、片段、控制器、过滤器、JSONModel){
“严格使用”;
var CController=Controller.extend(“sap.m.ZHRUI001.C”{
输入:“”,
valueHelpRequest:函数(oController){
this.inputId=oController.oSource.sId;
var sServiceUrl=“http://:/sap/bc/ui2/start\u-up”;
var oModel=new sap.ui.model.odata.ODataModel(sServiceUrl,true,“user”,“password”);
var oJsonModel=new sap.ui.model.json.JSONModel();
oModel.read(“/?”,null,null,true,函数(oData,响应){
oJsonModel.setData(oData);
});
sap.ui.getCore().setModel(oJsonModel);
//确认和取消的处理;清除过滤器
var=这个;
var handleClose=功能(oEvent){
var oSelectedItem=oEvent.getParameter(“selectedItem”);
if(oSelectedItem){
that.byId(that.inputId).setValue(oSelectedItem.getTitle());
}
oEvent.getSource().getBinding(“项”).filter([]);
};
//创建一个SelectDialog并显示它;绑定到该对话框
//建议项目的模型
如果(!this.\u valueHelpSelectDialog){
这是.\u valueHelpSelectDialog=new sap.m.SelectDialog(“valueHelpSelectDialog”{
标题:“{fullName}”,
项目:{
模板:新sap.m.StandardListItem({
标题:“{fullName}”,
主动:正确
})
},
搜索:功能(oEvent){
var sValue=oEvent.getParameter(“值”);
var of ilter=new sap.ui.model.Filter(
“姓名”,
sap.ui.model.FilterOperator.Contains,S值
);
oEvent.getSource().getBinding(“items”).filter([oFilter]);
},
确认:handleClose,
取消:handleClose
});
此.\u值帮助选择对话框.setModel(oJsonModel);
}否则{
此.\u值帮助选择对话框.setModel(oJsonModel);
}
这是。_valueHelpSelectDialog.open();
}
});
返回控制器;
});
`
`
控制台UserData以获取登录用户的登录详细信息。从我所读到的内容来看,您指的是SAP门户,我希望您有一个7.3+版本 我找到了用于查找用户的SAP文档,请小心,因为这不是在门户上运行的SAPUI5应用程序的代码,但对于在R/3系统上运行的应用程序,NetWeaver门户上不存在endpoint/SAP/bc/ui2/start\u up 您可以做的是开发一个简单的REST服务(通过开发一个Servlet),它将发回用户和您需要的所有详细信息。 这些详细信息可以在包含IUser对象的PortalComponentRequest中找到,您可以在my Git上的以下位置找到示例门户servlet: 您只需向url发送GET请求 http[s]://youserver:your port/irj/servlet/prt/portal/prtroot/UserServletSample.UserInfoSampleServlet 你会得到一个JSo
{
"user": {
"user-name":"<LASTNAME>, <FIRSTNAME>",
"user-id":"<USER_ID>",
"user-email":"<USER@EMAIL.COM>"
}
}
{
“用户”:{
“用户名”:“,”,
“用户id”:“,
“用户电子邮件”:”
}
}
我希望这会对您有所帮助。你好,Sriram,我必须将此代码放入我的控制器中吗?但是我如何才能获得用户全名?UserData包含用户的所有详细信息,包括全名。您可以给我举个例子,我如何使用UserData显示全名吗?嗨,Almiriad,我必须在SAP门户中导入此Servlet吗?你好,是的,您可以在门户上部署它。我认为您可以简单地部署EAR文件,即UserServletSample文件夹,servlet应该是可用的。请小心,因为存在一个安全区域“com.almiriad.sap.portal.user.UserInfoSampleServlet”,您必须确保您的用户有权访问该区域(通常,一旦您通过身份验证,就应该可以):
{
"user": {
"user-name":"<LASTNAME>, <FIRSTNAME>",
"user-id":"<USER_ID>",
"user-email":"<USER@EMAIL.COM>"
}
}