我有一个使用React Native的新创建的应用程序。该应用程序包含一个简单的登录表单和一个提取查询,没有什么复杂的,几乎没有CSS和组件。
我尝试实现Facebook,经过一番苦苦挣扎,我不再收到Facebook错误,而现在,我收到了这个错误,当我运行react-native run-android时,这是没有意义的:
没有显示任何屏幕,什么也没有,完全是这500个错误。我一遍又一遍地搜索解决方案,甚至为Gradle添加了表单,在rm rf node_modules之后重新安装了所有npm软件包。
implementation ("com.facebook.react:react-native:0.58.5"){force = true}
Run Code Online (Sandbox Code Playgroud)
我正在将MaterialAdmin主题用于 JSF/PrimeFaces Web 应用程序。
每次启动应用程序时,我都会收到每个.less
文件的警告:
警告:JSF1091:未检测到共享/variables.less 文件的 MIME 类型。要解决此问题,请将 MIME 类型映射添加到应用程序的 web.xml 文件中。
我试过这个,但没有机会:
<web:mime-mapping>
<extension>less</extension>
<web:mime-type>text/plain</web:mime-type>
</web:mime-mapping>
Run Code Online (Sandbox Code Playgroud) 我想要做的是在离子2应用程序中每行显示2列,当用户在搜索框中输入一些文本时,例如键入仅存在于第二行的文本,第一行消失(现在实际上发生了,但是保持第二列在右边,而不是将它保留在隐藏的列的位置).
这是我现在使用的代码,它没有让我的列在同一行:
<ion-grid>
<div [ngSwitch]="top">
<div *ngSwitchCase="'resto'">
<ion-row responsive-sm wrap *ngFor="let data of topRestaurants | ArrayObject ">
<ion-col col-6 *ngIf="data.value['title'].toLowerCase().includes(textFilter)">
<ion-card>
<ion-col col-12 no-margin no-padding><img src="{{data.value['logo']}}"/></ion-col>
<ion-col col-12 no-margin no-padding>
<ion-card-content>
<ion-card-title>
{{data.value['title']}} <ion-badge item-end>{{(data.value['distance']) | number:'1.2-2'}} km</ion-badge>
</ion-card-title>
<p>
<small><rating [score]="data.value['overall_rating']" [max]="5"></rating> ({{data.value['reviews_count']}}) Avis</small>
</p>
</ion-card-content>
</ion-col>
</ion-card>
</ion-col>
</ion-row>
</div>
Run Code Online (Sandbox Code Playgroud)
当我创建如下的ion-col样式:display:inline-block,width:50%,它使它几乎正常工作,但即使ngIf为假(因为行),也会使块保持其位置(50%)仍然存在于DOM上,我们删除了col:/)
我终于在页面之间传递了消息,但这并没有将我重定向到用户登录页面(../../index.xhtml),而是显示了禁止的页面:
public String permission() throws IOException {
FacesContext context = FacesContext.getCurrentInstance();
Map<String, Object> sessionMap = context.getExternalContext().getSessionMap();
String isLog = (String) sessionMap.get("isLogged");
if(isLog != "TRUE") {
System.out.println("*** The user has no permission to visit this page. *** ");
context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Info : ", "Loggez-vous"));
context.getExternalContext().getFlash().setKeepMessages(true);
//context.getExternalContext().redirect("../../index.xhtml");
return "../../index.xhtml?faces-redirect=true";
} else {
System.out.println("*** The session is still active. User is logged in. *** ");
}
return "../../index.xhtml?faces-redirect=true";
}
Run Code Online (Sandbox Code Playgroud)
当然,限制页面有这个:
<f:event type="preRenderView" listener="#{userloginMB.permission()}"/>
Run Code Online (Sandbox Code Playgroud)
使用get external context重定向会使消息丢失.
身份验证正在加载登录名时,我需要获取userId,以便我可以存储它并在以后使用它通过其ID收集有关的更多信息。
这是我的登录bean:
public String login() {
try {
Authentication request = new UsernamePasswordAuthenticationToken(this.getUsername(), this.getPassword());
Authentication result = authenticationManager.authenticate(request);
SecurityContextHolder.getContext().setAuthentication(result);
sessionMap.put("UsernameOnLogin", this.getUsername());
} catch (AuthenticationException e) {
e.printStackTrace();
sessionMap.clear();
return "error.xhtml";
}
return "i.xhtml";
}
Run Code Online (Sandbox Code Playgroud)
和服务
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
empsuite.model.UserData domainUser = userloginDAO.getUsername(username);
boolean enabled = true;
boolean accountNonExpired = true;
boolean credentialsNonExpired = true;
boolean accountNonLocked = true;
return new User(
domainUser.getUsername(),
domainUser.getPassword(),
enabled,
accountNonExpired,
credentialsNonExpired,
accountNonLocked,
getAuthorities(1));
}
Run Code Online (Sandbox Code Playgroud)
最后,DAO函数获取用户名以执行登录:
public UserData getUsername(String username) {
List<UserData> …
Run Code Online (Sandbox Code Playgroud)