使用注释控制器在基于Spring MVC的站点上组织状态消息("您的数据已成功保存/添加/删除")的最佳方法是什么?
因此,问题在于从控制器中的POST方法发送消息.
我正在实现current_page?一个视图来测试当前控制器和动作是否等于某个值,但是当在该控制器/动作组合上时它不会返回true.
- if current_page?(:controller => 'pages', :action => 'main')
# doesn't return true when on that controller/action combination
Run Code Online (Sandbox Code Playgroud)
它工作的唯一方法是如果我使用更详细的方法,如下所示:
- if controller.controller_name == 'pages' && controller.action_name == 'main'
# this works just fine
Run Code Online (Sandbox Code Playgroud)
我的语法错了还是在这里发生了其他事情?有没有更好的方法来做到这一点,比如设置BOOL或者这是正确的方法吗?
最终目标是仅在主着陆页上显示某个标题,同时在所有其他页面上显示不同的标题.
编辑:相关输出来自rake routes:
pages_main GET /pages/main(.:format) {:controller=>"pages", :action=>"main"}
root /(.:format) {:controller=>"pages", :action=>"main"}
Run Code Online (Sandbox Code Playgroud)
此外,这是渲染时的服务器输出:
Started GET "/" for 127.0.0.1 at 2011-03-03 16:54:40 -0500
Processing by PagesController#main as HTML
Rendered pages/main.html.haml within layouts/application (203.8ms)
Run Code Online (Sandbox Code Playgroud) 有没有办法将请求转发给另一个控制器,同时向其添加一些参数数据?我尝试添加到ModelMap,但它似乎没有挂起.我做的事情如下:
return "forward:/my-other-controller";
Run Code Online (Sandbox Code Playgroud)
只有我能想到的其他方法是将参数放在会话上,然后在目标控制器中弹出它们.
我问了一个相关的问题但是搞砸了标题,没有人会理解它.由于我现在能够更准确地提出这个问题,我决定在一个新问题中重新制定它并关闭旧问题.对不起.
所以我想要做的是将数据(我的自定义用户的昵称存储在数据库中)传递给LoginUserControl.此登录通过Html.RenderPartial()从主页面呈现,因此我真正需要做的是确保每次调用时都出现ViewData ["UserNickname"].但我不想在每个控制器的每个动作中填充ViewData ["UserNickname"],所以我决定使用这种方法并创建一个抽象的基本控制器,它将为我完成工作,如下所示:
public abstract class ApplicationController : Controller
{
private IUserRepository _repUser;
public ApplicationController()
{
_repUser = RepositoryFactory.getUserRepository();
var loggedInUser = _repUser.FindById(User.Identity.Name); //Problem!
ViewData["LoggedInUser"] = loggedInUser;
}
}
Run Code Online (Sandbox Code Playgroud)
这样,无论我的推导控制器做什么,用户信息都已经存在.
到现在为止还挺好.现在出现问题:
我无法调用User.Identity.Name,因为User它已经为空.在我的所有派生控制器中都不是这种情况,因此这是抽象基本控制器特有的.
我在代码中的另一个地方通过FormsAuthentication设置User.Identity.Name,但我认为这不是问题 - afaik User.Identity.Name可以为null,但不是User本身.
在我看来HttpContext不可用(因为也是null ;-)而且我在这里错过了一个简单而重要的观点.任何人都可以给我一些提示吗?我真的很感激.
我正在开发一个iPhone应用程序,在一个特定的视图中,我需要加载两个不同的实体:一个将填充一个UITableView,另一个将填充一个UITextView.
是否可以使用单个属性获取这两个属性NSFetchedResultsController?
或者我需要使用两种不同的NSFetchedResultsControllers?
关于如何最好地解决这个问题的任何想法?
我想sanitize在控制器内打电话.这是我试过的:
class FooController < ApplicationController
include ActionView::Helpers::SanitizeHelper
# ...
end
Run Code Online (Sandbox Code Playgroud)
但是,我收到此错误:
undefined method `white_list_sanitizer' for FooController:Class
Run Code Online (Sandbox Code Playgroud)
我四处搜索,人们建议将include行切换为include ActionView::Helpers,但这会导致此错误:
undefined method `url_for' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
什么是正确的打电话方式sanitize?我正在使用Rails 2.3.5.
我对rails非常陌生,我想知道如何将控制器中的变量显示到我的视图中.
基本上,我有2个文件:articles_controller.rb和_article.html.erb
在我的控制器文件中,我有一个@article_votes我想在视图中显示的变量.我尝试过使用<%= @article_votes %>但它根本不显示任何内容.
有人会有任何指导吗?谢谢!
我已下载新的codeigniter 2.0并将我的控制器,模型和视图文件放在新的codeigniter 2.0安装中.但我得到了这个错误
致命错误:第3行的/Applications/MAMP/htdocs/site/application/controllers/forside.php中找不到"控制器"类
我做错了什么?它适用于旧的codeigniter版本但新版本.. No:S
希望有人可以帮助我
我正在尝试映射网址/locations/{locationId}/edit.html - 这似乎与此代码一起使用:
@Controller
@RequestMapping( "/locations" )
public class LocationController
{
@RequestMapping( value = "/{locationId}/edit.html", method = RequestMethod.GET )
public String showEditForm( Map<String, Object> map, @PathVariable int locationId )
{
map.put( "locationId", locationId );
return "locationform";
}
}
Run Code Online (Sandbox Code Playgroud)
调用提到的url结果会出现异常:
java.lang.IllegalArgumentException: Name for argument type [int] not available, and parameter name information not found in class file either.
Run Code Online (Sandbox Code Playgroud)
我是否以错误的方式使用@PathVariable Annotation?
如何正确使用?
我收到此错误,我尝试了不同的方法,但我还没有找到任何解决方案.
这是我的代码:
services.js
angular
.module('myApp.services',[])
.service('myservice', function($resource) {
var pendings = $resource('myUrl2', {methode: 'GET', isArray:true});
var items;
var myPo='rawad al bo3bo3';
var quantity;
var barcode;
return {
getItems: function() {
items = $resource('myUrl', {methode: 'GET', isArray:true});
Run Code Online (Sandbox Code Playgroud)
这是我的控制器:
angular
.module('myApp.controllers', [])
.controller('ReceiveCtrl', ['$scope','myservice', function ($scope,myservice) {
Run Code Online (Sandbox Code Playgroud)
HTML:
<html lang="en" ng-app="myApp">
<head>
<meta charset="utf-8">
<title>My AngularJS App</title>
<!-- <link rel="stylesheet" href="lib/primeUI/prime-ui-0.9.5.css"> -->
</head>
<body>
<ul class="menu">
<li><a href="#/Receive">view1</a></li>
<li><a href="#/Pending">view2</a></li>
</ul>
<div ng-view></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在控制器中,我无法访问来自我的服务的变量...因此警报消息将不起作用,我收到此错误
Error: Unknown provider: $resourceProvider <- $resource …Run Code Online (Sandbox Code Playgroud) controller ×10
java ×3
spring ×2
spring-mvc ×2
action ×1
angularjs ×1
annotations ×1
asp.net-mvc ×1
c# ×1
class ×1
cocoa ×1
codeigniter ×1
core-data ×1
current-page ×1
download ×1
entities ×1
forward ×1
helper ×1
html ×1
httpcontext ×1
javascript ×1
sanitize ×1
service ×1
variables ×1
version ×1
view ×1